TITLE:JListの先頭文字キー入力による検索選択を無効にする

Posted by at 2011-09-12

JListの先頭文字キー入力による検索選択を無効にする

JListにフォーカスがある状態で英数字キー入力をしたときに先頭文字が一致するアイテムを検索して選択する機能を無効にします。

  • &jnlp;
  • &jar;
  • &zip;
DisablePrefixMatchSelection.png

サンプルコード

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 にすることで、無効にすることができます。

@Override public TreePath getNextMatch(
    String prefix, int startingRow, Position.Bias bias) {
  return null;
}

コメント