Swing/CellEditor のバックアップ(No.17)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/CellEditor へ行く。
- 1 (2004-07-09 (金) 07:38:20)
- 2 (2004-10-08 (金) 06:18:00)
- 3 (2004-11-04 (木) 10:02:54)
- 4 (2005-04-28 (木) 04:33:03)
- 5 (2005-10-23 (日) 14:21:49)
- 6 (2006-02-27 (月) 15:30:55)
- 7 (2006-04-12 (水) 19:35:39)
- 8 (2006-06-21 (水) 13:56:41)
- 9 (2006-07-19 (水) 10:42:55)
- 10 (2006-07-21 (金) 14:10:30)
- 11 (2007-04-04 (水) 13:02:48)
- 12 (2007-10-30 (火) 21:13:03)
- 13 (2008-03-14 (金) 22:20:39)
- 14 (2008-03-19 (水) 14:50:21)
- 15 (2008-05-20 (火) 21:45:33)
- 16 (2008-06-16 (月) 14:12:52)
- 17 (2009-10-23 (金) 21:12:58)
- 18 (2010-12-06 (月) 18:08:49)
- 19 (2013-04-10 (水) 02:41:18)
- 20 (2013-07-26 (金) 00:58:54)
- 21 (2014-11-14 (金) 02:43:33)
- 22 (2014-12-02 (火) 17:37:08)
- 23 (2016-02-27 (土) 22:37:20)
- 24 (2016-09-01 (木) 21:32:55)
- 25 (2017-05-30 (火) 20:38:14)
- 26 (2018-05-17 (木) 16:32:08)
- 27 (2020-05-10 (日) 02:34:15)
- 28 (2021-11-03 (水) 02:24:55)
TITLE:JTableのセルを編集不可にする
Posted by terai at 2004-06-14
JTableのセルを編集不可にする
JTableのセルを編集不可にします。
- &jnlp;
- &jar;
- &zip;
#screenshot
サンプルコード
JTable table = new JTable(new DefaultTableModel() {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
});
解説
上記のサンプルは、以下の三種類の方法で、セルを編集不可にすることが出来ます。
- isCellEditable return false
- テーブルモデルのTableModel#isCellEditable()メソッドが常にfalseを返すようにオーバーライドして、すべてのセルを編集不可にしています。
- setDefaultEditor(Object.class, null)
- 各カラムにセルエディタを設定しない、かつObject.classが使用するデフォルトセルエディタをnullにした場合も、すべてのセルを編集不可にすることができます。
table.setDefaultEditor(Object.class, null);
- 各カラムにセルエディタを設定しない、かつObject.classが使用するデフォルトセルエディタをnullにした場合も、すべてのセルを編集不可にすることができます。
- setEnabled(false)
- JTable#setEnabled(false)してしまえば、すべてのセルでの編集を禁止することができますが、セルや行の選択なども不可能になってしまいます。
table.setEnabled(false);
- JTable#setEnabled(false)してしまえば、すべてのセルでの編集を禁止することができますが、セルや行の選択なども不可能になってしまいます。