Swing/PreventStartCellEditing のバックアップソース(No.6)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - 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でキー入力によるセル編集開始を禁止する #navi(../) #tags(JTable, TableModel, DefaultCellEditor) RIGHT:Posted by &author(aterai); at 2008-06-16 *JTableでキー入力によるセル編集開始を禁止する [#he44aefe] キー入力やマウスクリックによる``JTable``のセル編集開始を禁止します。 -&jnlp; -&jar; -&zip; //#screenshot #ref(http://lh6.ggpht.com/_9Z4BYR88imo/TQTRLZXQW1I/AAAAAAAAAgw/ufR0d0md6Bc/s800/PreventStartCellEditing.png) **サンプルコード [#q96b37cb] #code(link){{ table.putClientProperty("JTable.autoStartsEdit", Boolean.FALSE); }} #code{{ DefaultCellEditor ce = (DefaultCellEditor)table.getDefaultEditor(Object.class); ce.setClickCountToStart(Integer.MAX_VALUE); }} **解説 [#qf178f64] - ``default`` -- 0列目だけ、編集禁止です。 - ``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を返し、セルエディタは起動されません。 **参考リンク [#md0c00c5] -[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]] **コメント [#i06ddb22] #comment