Swing/PreventStartCellEditing のバックアップ(No.13)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/PreventStartCellEditing へ行く。
- 1 (2008-06-16 (月) 13:18:37)
- 2 (2009-03-03 (火) 16:52:45)
- 3 (2011-03-07 (月) 20:41:08)
- 4 (2013-01-20 (日) 23:45:53)
- 5 (2013-07-26 (金) 00:59:57)
- 6 (2013-08-16 (金) 16:30:49)
- 7 (2013-08-17 (土) 15:31:17)
- 8 (2015-01-09 (金) 18:17:22)
- 9 (2016-06-29 (水) 17:29:32)
- 10 (2016-08-11 (木) 21:29:40)
- 11 (2017-08-15 (火) 14:33:50)
- 12 (2018-08-14 (火) 16:27:59)
- 13 (2020-08-16 (日) 17:10:11)
- 14 (2022-01-09 (日) 02:00:35)
- category: swing folder: PreventStartCellEditing title: JTableでキー入力によるセル編集開始を禁止する tags: [JTable, TableModel, DefaultCellEditor] author: aterai pubdate: 2008-06-16T13:18:37+09:00 description: キー入力やマウスクリックによるJTableのセル編集開始を禁止します。 image:
概要
キー入力やマウスクリックによるJTable
のセル編集開始を禁止します。
Screenshot
Advertisement
サンプルコード
table.putClientProperty("JTable.autoStartsEdit", Boolean.FALSE);
DefaultCellEditor ce = (DefaultCellEditor) table.getDefaultEditor(Object.class);
ce.setClickCountToStart(Integer.MAX_VALUE);
View in GitHub: Java, Kotlin解説
default
(上記のサンプルでのデフォルト)0
列目だけTableModel#isCellEditable()
がfalse
を返すように設定JTable#isCellEditable()
メソッドをオーバーライドする場合は、列の入れ替えに注意
prevent KeyStroke autoStartsEdit
table.putClientProperty("JTable.autoStartsEdit", Boolean.FALSE);
で、キー入力(F2は除く)によるセルの編集開始を禁止
prevent mouse from starting edit
DefaultCellEditor#setClickCountToStart
に大きな値を設定して、事実上マウスクリックによる編集開始を禁止
start cell editing only F2
- 上二つを設定して、セルの編集はF2キーでのみ開始可能になるよう設定
isCellEditable return false
TableModel#isCellEditable
が常にfalse
を返すように設定し、すべてのカラムでセルエディタの起動を禁止
参考リンク
- 片っ端から忘れていけばいいじゃない。 JTableで、セル上でキータイプされただけでは編集を開始しないようにする。JTable.autoStartsEdit
- TIPs JTable - Space Of Mind - Confluence
- JTableのセルを編集不可にする
- JTableでキー入力によるセル編集自動開始を一部禁止する