Swing/DisablePrefixMatchSelection のバックアップ(No.7)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/DisablePrefixMatchSelection へ行く。
- category: swing folder: DisablePrefixMatchSelection title: JListの先頭文字キー入力による検索選択を無効にする tags: [JList, JTree] author: aterai pubdate: 2011-09-12T16:36:34+09:00 description: JListにフォーカスがある状態で英数字キー入力をしたときに先頭文字が一致するアイテムを検索して選択する機能を無効にします。 image:
概要
JList
にフォーカスがある状態で英数字キー入力をしたときに先頭文字が一致するアイテムを検索して選択する機能を無効にします。
Screenshot
Advertisement
サンプルコード
JList list = new JList() {
@Override public int getNextMatch(
String prefix, int startIndex, Position.Bias bias) {
return -1;
}
};
View in GitHub: Java, Kotlin解説
上記のサンプルでは、JList#getNextMatch(...)
メソッドをオーバーライドし、戻り値(次にマッチする要素のインデックス)が常に-1
になるようにすることで、キー入力による先頭文字検索選択を無効にしています。
JTree
にもJTree#getNextMatch(...)
メソッドが存在し、同様のキー入力による選択機能がありますが、こちらはインデックスではなく、TreePath
が戻り値なので、null
を返すことで無効にすることができます。
JTree tree = new JTree() {
@Override public TreePath getNextMatch(
String prefix, int startingRow, Position.Bias bias) {
return null;
}
};