• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JTableでキー入力によるセル編集開始を禁止する
#navi(../)
*JTableでキー入力によるセル編集開始を禁止する [#he44aefe]
Posted by [[terai]] at 2008-06-16

#contents

**概要 [#j4903a26]
キー入力やマウスクリックによるJTableのセル編集開始を禁止します。

-&jnlp;
-&jar;
-&zip;

#screenshot

**サンプルコード [#q96b37cb]
#code{{
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); で、キー入力(F2は除く)によるセルの編集開始を禁止します。

- prevent mouse from starting edit
-- DefaultCellEditor#setClickCountToStart に大きな値を設定して、事実上マウスクリックによる編集開始が不可能になっています。

- start cell editing only F2
-- 上二つを設定して、F2 からのみセルを編集することができるようになっています。

- TableModel#isCellEditable が常にfalseを返し、セルエディタは起動されません。

//**参考リンク
**コメント [#i06ddb22]
#comment