TITLE:JTableのセルを編集不可にする

JTableのセルを編集不可にする

編集者:Terai Atsuhiro
作成日:2004-06-14
更新日:2021-11-03 (水) 02:26:04

概要

JTableのセルを編集不可にします。

#screenshot

サンプルコード

TableModel model = new TestModel() {
  public boolean isCellEditable(int row, int column) {
    return false;
  }
};
JTable table = new JTable(model);
  • &jnlp;
  • &jar;
  • &zip;

解説

上記のサンプルでは、テーブルモデルのTableModel#isCellEditable()メソッドが常にfalseを返すようにオーバーライドして、すべてのセルを編集不可にしています。

以下のように、各カラムにセルエディタを設定しない、かつObject.classが使用するデフォルトセルエディタをnullにした場合も、すべてのセルを編集不可にすることができます。

table.setDefaultEditor(Object.class, null);

JTable#setEnabled(false)してしまえば、すべてのセルでの編集を禁止することができますが、セルや行の選択なども不可能になってしまいます。

table.setEnabled(false);

コメント