Swing/DisablePrefixMatchSelection のバックアップソース(No.5)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/DisablePrefixMatchSelection へ行く。
- 1 (2012-12-18 (火) 19:23:47)
- 2 (2013-05-03 (金) 23:49:58)
- 3 (2013-12-06 (金) 15:33:48)
- 4 (2015-10-30 (金) 18:42:31)
- 5 (2017-04-21 (金) 13:38:45)
- 6 (2018-04-13 (金) 17:22:15)
- 7 (2018-09-30 (日) 22:03:13)
- 8 (2019-10-02 (水) 13:52:10)
- 9 (2021-05-13 (木) 18:21:25)
- 10 (2025-01-03 (金) 08:57:02)
- 11 (2025-01-03 (金) 09:01:23)
- 12 (2025-01-03 (金) 09:02:38)
- 13 (2025-01-03 (金) 09:03:21)
- 14 (2025-01-03 (金) 09:04:02)
- 15 (2025-06-19 (木) 12:41:37)
- 16 (2025-06-19 (木) 12:43:47)
--- category: swing folder: DisablePrefixMatchSelection title: JListの先頭文字キー入力による検索選択を無効にする tags: [JList, JTree] author: aterai pubdate: 2011-09-12T16:36:34+09:00 description: JListにフォーカスがある状態で英数字キー入力をしたときに先頭文字が一致するアイテムを検索して選択する機能を無効にします。 image: https://lh6.googleusercontent.com/-_wtzuIN_MvU/Tm2wga2X4hI/AAAAAAAABBs/dUuDS1gj9mM/s800/DisablePrefixMatchSelection.png --- * 概要 [#summary] `JList`にフォーカスがある状態で英数字キー入力をしたときに先頭文字が一致するアイテムを検索して選択する機能を無効にします。 #download(https://lh6.googleusercontent.com/-_wtzuIN_MvU/Tm2wga2X4hI/AAAAAAAABBs/dUuDS1gj9mM/s800/DisablePrefixMatchSelection.png) * サンプルコード [#sourcecode] #code(link){{ JList list = new JList() { @Override public int getNextMatch(String prefix, int startIndex, Position.Bias bias) { return -1; } }; }} * 解説 [#explanation] 上記のサンプルでは、`JList#getNextMatch(...)`メソッドをオーバーライドし、戻り値(次にマッチする要素のインデックス)が常に`-1`になるようにすることで、キー入力による先頭文字検索選択を無効にしています。 ---- `JTree`にも`JTree#getNextMatch(...)`メソッドが存在し、同様のキー入力による選択機能がありますが、こちらはインデックスではなく、`TreePath`が戻り値なので、`null`を返すことで無効にすることができます。 #code{{ JTree tree = new JTree() { @Override public TreePath getNextMatch(String prefix, int startingRow, Position.Bias bias) { return null; } }; }} //* 参考リンク [#reference] * コメント [#comment] #comment #comment