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 所选项目不更改
基础教程推荐
- 大摇大摆的枚举 2022-01-01
- 不推荐使用 Api 注释的描述 2022-01-01
- Java 实例变量在两个语句中声明和初始化 2022-01-01
- 在 Java 中创建日期的正确方法是什么? 2022-01-01
- 如何在 Spring @Value 注解中正确指定默认值? 2022-01-01
- 验证是否调用了所有 getter 方法 2022-01-01
- 如何在 JFrame 中覆盖 windowsClosing 事件 2022-01-01
- Java Swing计时器未清除 2022-01-01
- 从 python 访问 JVM 2022-01-01
- 多个组件的复杂布局 2022-01-01
