JTableでキー入力によるセル編集開始を禁止する
Total: 17195, Today: 1, Yesterday: 2
Posted by aterai at
Last-modified:
Summary
キー入力やマウスクリックによるJTableのセル編集開始を禁止します。
Screenshot

Advertisement
Source Code Examples
table.putClientProperty("JTable.autoStartsEdit", Boolean.FALSE);
DefaultCellEditor ce = (DefaultCellEditor) table.getDefaultEditor(Object.class);
ce.setClickCountToStart(Integer.MAX_VALUE);
View in GitHub: Java, KotlinDescription
default(上記のサンプルでのデフォルト)0列目だけTableModel#isCellEditable()がfalseを返すように設定JTable#isCellEditable()メソッドをオーバーライドする場合は列の入れ替えに注意が必要
prevent KeyStroke autoStartsEdittable.putClientProperty("JTable.autoStartsEdit", Boolean.FALSE)でキー入力(F2は除く)によるセルの編集開始を禁止
prevent mouse from starting editDefaultCellEditor#setClickCountToStartに大きな値を設定して事実上マウスクリックによる編集開始を禁止
start cell editing only F2- 上二つを設定して、セルの編集はF2キーでのみ開始可能になるよう設定
isCellEditable return falseTableModel#isCellEditableが常にfalseを返すように設定し、すべてのカラムでセルエディタの起動を禁止
Reference
- 片っ端から忘れていけばいいじゃない。 JTableで、セル上でキータイプされただけでは編集を開始しないようにする。JTable.autoStartsEdit
- TIPs JTable - Space Of Mind - Confluence
- JTableのセルを編集不可にする
- JTableでキー入力によるセル編集自動開始を一部禁止する