gpt4 book ai didi

java - 禁用 JavaFX ComboBox 输入

转载 作者:行者123 更新时间:2023-11-29 04:06:45 33 4
gpt4 key购买 nike

如何禁用可编辑组合框的输入? (好吧,实际上是 JFoenix JFXCombobox 但除了外观之外基本相同)

setEditable(false) 将禁用 Combobox 上的键盘输入,但列表仍会出现

setDisabled(true) 会禁用整个组合框,但我希望用户能够聚焦组合框,以便他可以在必要时复制它的内容。

我为什么要这样?在我的表单中,用户必须先点击编辑按钮才能更改内容。

最佳答案

基本上,方法ComboBox.setEditable向 ComboBox 添加/删除编辑器,可以通过 ComboBox.getEditor() 检索到

要保留 TextField(从中复制)但禁用用户输入,只需在底层 TextField 上设置 editable 标志:

private ComboBox<String> myComboBox;
[...]

myComboBox.setEditable(true);
myComboBox.getEditor().setEditable(false);

编辑:

正如@jewelsea 在下面的评论中所说,您可以在用户请求打开列表时立即隐藏它:

myComboBox.setOnShown(event -> comboBox.hide());

我认为禁用打开下拉菜单的按钮会“更干净”,但不幸的是我还没有找到这样做的方法。

关于java - 禁用 JavaFX ComboBox 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58117745/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com