How to make JComboBox selected item not changed when scrolling through its popuplist using keyboard(使用键盘滚动其弹出列表时如何使 JComboBox 所选项目不更改)
问题描述
我在面板中有一个 JComboBox 组件并附加了 ItemListener.但它会在每次向上/向下按键后触发(当滚动打开的弹出列表时).我想在用户接受选择后更改选择的值,例如按 Enter 键.
I have a JComboBox component in the panel and ItemListener attached to it. But it gets fired after every up/down keypress (when scrolling though opened popup list). I want to change the selected value after the user accepts selection by pressing for example Enter key.
使用鼠标时不是这种情况.当我将鼠标移到组合框的列表上时,突出显示跟随鼠标指针,但在我按下鼠标按钮之前,所选项目不会改变.我希望键盘具有相同的行为,即通过向上/向下箭头移动突出显示不会更改所选项目,但按 Enter 会.
This is not a case when using mouse. When I move mouse over the combobox's list the highlight follows mouse pointer, but selected item is not changed until I press the mouse button. I would like to have the same behavior for keyboard, i.e. moving highlight via up/down arrow does not change selected item, but pressing Enter does.
推荐答案
相信你应该可以做到:
comboBox.putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE);
在您将 comboBox
实例创建为 获取此功能
after you have created your comboBox
instance to get this functionality
这篇关于使用键盘滚动其弹出列表时如何使 JComboBox 所选项目不更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用键盘滚动其弹出列表时如何使 JComboBox 所选项目不更改


基础教程推荐
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 降序排序:Java Map 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01