Swing/PreventStartCellEditing のバックアップソース(No.9)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - 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)
--- title: JTableでキー入力によるセル編集開始を禁止する tags: [JTable, TableModel, DefaultCellEditor] author: aterai pubdate: 2008-06-16T13:18:37+09:00 description: キー入力やマウスクリックによるJTableのセル編集開始を禁止します。 --- * 概要 [#summary] キー入力やマウスクリックによる`JTable`のセル編集開始を禁止します。 #download(https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTRLZXQW1I/AAAAAAAAAgw/ufR0d0md6Bc/s800/PreventStartCellEditing.png) * サンプルコード [#sourcecode] #code(link){{ table.putClientProperty("JTable.autoStartsEdit", Boolean.FALSE); }} #code{{ DefaultCellEditor ce = (DefaultCellEditor) table.getDefaultEditor(Object.class); ce.setClickCountToStart(Integer.MAX_VALUE); }} * 解説 [#explanation] - `default`(上記のサンプルでのデフォルト) -- `0`列目だけ`TableModel#isCellEditable`が`false`を返すように設定 - `prevent KeyStroke autoStartsEdit` -- `table.putClientProperty("JTable.autoStartsEdit", Boolean.FALSE);`で、キー入力(KBD{F2}は除く)によるセルの編集開始を禁止 - `prevent mouse from starting edit` -- `DefaultCellEditor#setClickCountToStart`に大きな値を設定して、事実上マウスクリックによる編集開始を禁止 - `start cell editing only F2` -- 上二つを設定して、セルの編集開始はKBD{F2}キーのみ可能に設定 - `isCellEditable retrun false` -- `TableModel#isCellEditable`が常に`false`を返すように設定し、すべてのカラムでセルエディタの起動を禁止 * 参考リンク [#reference] - [http://0xc000013a.blog96.fc2.com/blog-entry-19.html 片っ端から忘れていけばいいじゃない。 JTableで、セル上でキータイプされただけでは編集を開始しないようにする。JTable.autoStartsEdit] - [http://www.stateofmind.fr/confluence/display/java/TIPs+JTable TIPs JTable - Space Of Mind - Confluence] - [[JTableのセルを編集不可にする>Swing/CellEditor]] - [[JTableでキー入力によるセル編集自動開始を一部禁止する>Swing/FunctionKeyStartEditing]] * コメント [#comment] #comment #comment