コンボボックスの要素をキー入力で選択する方法。
スポンサーリンク
JComboBox は、キー入力された文字とコンボボックスの要素名の先頭の文字が一致すれば*1、その要素を選択するのがデフォルトの動作のようだ。
その辺の動作は JComboBox のインナークラスである DefaultKeySelectionManager が制御している様子。
で、コンボボックスの要素名の取得は、データモデル(ComboBoxModel オブジェクト)から取得できる要素オブジェクトの toString() メソッドで行っている。
なので、コンボボックスの要素名と要素オブジェクトの toString() メソッドの戻り値が一致していれば、要素名の先頭の文字をキー入力すると、その要素が選択される。
以下、参考にさせていただいたページです。
- KeySelectionManager に関する akubi_2005 氏の日記:
http://blog.goo.ne.jp/akubi_2005/m/200506
- JComboBox でブラウザのオートコンプリートっぽく入力補完する方法。Terai 氏のページ:
http://terai.xrea.jp/Swing/Incremental.html
*1:大文字・小文字は無視。