gpt4 book ai didi

java - 如何让不可编辑的ComboBox显示提示文本?

转载 作者:行者123 更新时间:2023-11-30 03:34:21 25 4
gpt4 key购买 nike

我的 JavaFX 控件可以与许多可能存在冲突的值关联。

当控件是 TextField 时,我使用 promptText 属性将字符串 (多个冲突值) 放入 TextField 并使用描述的技巧 here确保 promptText 保持可见,直到用户在字段中键入内容。这效果很好。

现在,我想对 ComboBox 做同样的事情,但我发现 ComboBox 仅在以下情况下才会显示 promptText editable 属性设置为 true。这对我来说是一个问题,因为我不希望用户在 ComboBox 中键入任意字符串。我想限制他进行一组预先确定的选择。

有没有办法让ComboBox显示promptText,即使它的editable属性设置为false ?在我的例子中,扩展ComboBox是一个可以接受的解决方案。

最佳答案

如果我设置ComboBox,一切似乎都能正常工作。可编辑,然后获取编辑器( TextField )并将其设置为不可编辑。

comboBox.setEditable(true)
comboBox.getEditor().setEditable(false)

保留 promptText可见,直到用户更改 ComboBox ,必须将CSS技巧应用到内部TextField ,而不是 ComboBox本身。

Unresolved 问题:

  • 用户无法输入 ComboBox ,但看起来他可以:它的样式就像他可以一样,鼠标光标甚至假设 I -beam 悬停在 ComboBox 的编辑器部分上时的外观.

  • 用户必须单击按钮才能展开并查看项目。他无法再点击不可编辑的较大目标区域ComboBox .

  • 我曾见过由于注意力不集中而导致的 ComboBox生成 selectedItem更改事件,并且新值不是最初添加到 ComboBox.getItems() 的对象,而是原始对象的字符串表示!看来selectedIndex()可以用来解决这个问题。

  • 最后也是最重要的:我的ComboBoxStringConverter开始接收null以前没有。

关于java - 如何让不可编辑的ComboBox显示提示文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28328538/

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