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");

ユーザーがリストにない値を入力して先に進んだときに、アクションキーをリセットしていませんでした。これにより、アプリケーション内のすべての JCombobox が矢印キーに反応しなくなります。

最初にアクションを保存し、selectNext上記のエラー発生時にアクションをリセットして、コードを機能させました

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