• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JTableのセルを編集不可にする
#navi(../)
*JTableのセルを編集不可にする [#g3871d47]
>編集者:[[Terai Atsuhiro>terai]]~
作成日:2004-06-14~
更新日:&lastmod;

#contents

**概要 [#dfb9bc74]
JTableのセルを編集不可にします。

#screenshot

**サンプルコード [#x41114f8]
#code{{
 TestModel model = new TestModel() {
   public boolean isCellEditable(int row, int column) {
     return false;
   }
 };
 JTable jtable = new JTable(model);

}}
-&jnlp;
-&jar;
-&zip;

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

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

#code{{
 jtable.setDefaultEditor(Object.class, null);
}}

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

//**参考リンク
**コメント [#s3a072c4]
#comment