使用键盘在弹出菜单中滚动时,如何使JComboBox选定项保持不变
问题内容:
我在面板中有一个JComboBox组件,并在其上附加了ItemListener。但是每次上/下键按下时(在打开的弹出列表中滚动时)都会触发它。我想在用户通过按Enter键接受选择后更改选择的值。
使用鼠标时不是这种情况。当我将鼠标移到组合框的列表上方时,突出显示的是鼠标指针,但是直到我按下鼠标按钮,所选项目才会更改。我希望键盘具有相同的行为,即,通过向上/向下箭头移动突出显示不会更改所选的项目,但是按Enter会更改。
问题答案:
我相信您应该可以:
comboBox.putClientProperty("JComboBox.isTableCellEditor", Boolean.TRUE);
创建comboBox
实例以获取此功能后