1

我有一个简单的JComboBox

JComboBox comboBox = new JComboBox();
comboBox.setModel(new DefaultComboBoxModel(new String[] {"foo", "bar"}));

在某些情况下,箭头键适用于弹出窗口中的列表遍历。但在某些情况下,箭头键不起作用(在这些情况下不会引发异常)。

我已经缩小了箭头键不起作用的情况。

我想知道是什么导致箭头键不起作用,这样我就可以限制我的焦点区域。很抱歉,我无法为这个问题提供 SSCCE。

4

1 回答 1

2

我已经在我的自定义自动完成组合框中删除了箭头键的 ActionMap 扩展JComboBox

getActionMap().getParent().remove("selectNext");

当用户输入一些不在列表中的值并继续前进时,我没有重置操作键。这导致应用程序中的所有 JComboboxes 停止响应箭头键。

我最初保存了操作selectNext并在上述错误发生时重置操作以使代码正常工作

Action selectNextAction = getActionMap().getParent().get("selectNext");
//...
getActionMap().getParent().put("selectNext", selectNextAction);
于 2012-05-20T22:47:00.960 回答