TITLE:JListを選択不可にする

JListを選択不可にする

編集者:Terai Atsuhiro
作成日:2005-03-14
更新日:2022-10-30 (日) 18:58:33

概要

JListが選択不可に見えるようなレンダラーを設定します。

#screenshot

サンプルコード

class MyCellRenderer implements ListCellRenderer {
  private final ListCellRenderer renderer;
  public MyCellRenderer(ListCellRenderer renderer) {
    this.renderer = renderer;
  }
  public Component getListCellRendererComponent(
                     JList list, Object value, int index, 
                     boolean isSelected, boolean cellHasFocus) {
    return renderer.getListCellRendererComponent(
                        list, value, index, false, false);
  }
}
  • &jnlp;
  • &jar;
  • &zip;

解説

    • JList#setEnabled(false)で選択不可にしています。
    • フォーカス無し、ListSelectionModel#isSelectedIndexが常にfalseなセレクションモデルを設定して、選択不可にしています。
    • 常に各セルを選択状態でもフォーカスも無いものとして描画するセルレンダラーを設定して、選択不可のように見せかけています。

コメント