Swing/CellEditor のバックアップ(No.21)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - 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のセルを編集不可にする tags: [JTable, TableCellEditor] author: aterai pubdate: 2004-06-14 description: JTableのセルを編集不可にします。
概要
JTable
のセルを編集不可にします。
Screenshot
Advertisement
サンプルコード
JTable table = new JTable(new DefaultTableModel() {
@Override public boolean isCellEditable(int row, int column) {
return false;
}
});
View in GitHub: Java, Kotlin解説
上記のサンプルは、以下の三種類の方法で、セルを編集不可にすることが出来ます。
Override TableModel#isCellEditable(...) { return false; }
- テーブルモデルの
TableModel#isCellEditable()
メソッドが常にfalse
を返すようにオーバーライドして、すべてのセルを編集不可にしています。
- テーブルモデルの
JTable#setDefaultEditor(Object.class, null);
- 各カラムにセルエディタを設定しない、かつ
Object.class
が使用するデフォルトセルエディタをnull
にした場合も、すべてのセルを編集不可にすることができます。
- 各カラムにセルエディタを設定しない、かつ
table.setDefaultEditor(Object.class, null);
JTable#setEnabled(false)
JTable#setEnabled(false)
してしまえば、すべてのセルでの編集を禁止することができますが、セルや行の選択なども不可能になってしまいます。
table.setEnabled(false);