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

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

概要

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

http://terai.xrea.jp/swing/celleditor/screenshot.png

サンプルコード

TestModel model = new TestModel() {
  public boolean isCellEditable(int row, int column) {
    return false;
  }
};
JTable jtable = new JTable(model);

解説

テーブルモデルのメソッドisCellEditable()が常にfalseを返すようにしてやると、すべてのセルが編集不可になります。

以下のように、列がObject.classの時に使用するデフォルトセルエディタをnullにした場合でも、すべてのセルを編集不可にすることができます。

jtable.setDefaultEditor(Object.class, null);

選択などが出来なくなっても良いならば、setEnabled(false)してしまう方法もあります。

jtable.setEnabled(false);

コメント