JTableのセルを編集不可にする
Total: 40473, Today: 1, Yesterday: 0
Posted by aterai at
Last-modified:
Summary
JTableのすべてのセルを編集不可にする方法をテストします。
Screenshot

Advertisement
Source Code Examples
JTable table = new JTable(new DefaultTableModel() {
@Override public boolean isCellEditable(int row, int column) {
return false;
}
});
View in GitHub: Java, KotlinDescription
上記のサンプルは以下の3種類の設定でセルを編集不可にする方法をテストしています。
Override TableModel#isCellEditable(...) { return false; }- テーブルモデルの
TableModel#isCellEditable()メソッドが常にfalseを返すようにオーバーライドしてすべてのセルを編集不可に設定 JTable#isCellEditable()メソッドをオーバーライドする方法もある- たとえば同じ
TableModelを使用する2つのJTableで片方だけ編集不可にする設定が可能
- たとえば同じ
- テーブルモデルの
JTable#setDefaultEditor(Object.class, null);- 各カラムにセルエディタを設定しない、かつ
Object.classが使用するデフォルトセルエディタをnullにすることですべてのセルを編集不可にするtable.setDefaultEditor(Object.class, null);
- 各カラムにセルエディタを設定しない、かつ
JTable#setEnabled(false)JTable#setEnabled(false)でセルや行の選択なども含めてすべてのセルでの編集を禁止するtable.setEnabled(false);