Swing/SurrendersFocusOnKeystroke のバックアップの現在との差分(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/SurrendersFocusOnKeystroke へ行く。
- 1 (2015-06-15 (月) 00:01:10)
- 2 (2015-06-19 (金) 03:54:05)
- 3 (2015-12-15 (火) 19:41:46)
- 4 (2015-12-16 (水) 21:52:19)
- 5 (2017-04-04 (火) 14:13:45)
- 6 (2017-06-09 (金) 13:13:08)
- 7 (2018-05-30 (水) 20:09:14)
- 8 (2018-07-17 (火) 20:57:51)
- 9 (2020-07-22 (水) 10:03:12)
- 10 (2021-12-18 (土) 15:29:21)
- 11 (2022-04-23 (土) 20:31:34)
- 追加された行はこの色です。
- 削除された行はこの色です。
--- category: swing folder: SurrendersFocusOnKeystroke title: JTableのセルを編集開始したときにセルエディタがフォーカスを取得するよう設定する tags: [JTable, CellEditor, Focus] author: aterai pubdate: 2015-06-15T00:00:18+09:00 description: JTableのセルを編集開始したときに、セルエディタがフォーカスを取得するかどうかを設定で切り替えます。 description: JTableのセルを編集開始したときにセルエディタがフォーカスを取得するかどうかを設定で切り替えます。 image: https://lh3.googleusercontent.com/-Kzqx4xhc2CM/VX2WWWF2AYI/AAAAAAAAN6o/MQEBYdlaDP4/s800/SurrendersFocusOnKeystroke.png --- * 概要 [#g14f8838] `JTable`のセルを編集開始したときに、セルエディタがフォーカスを取得するかどうかを設定で切り替えます。 * 概要 [#summary] `JTable`のセルを編集開始したときにセルエディタがフォーカスを取得するかどうかを設定で切り替えます。 #download(https://lh3.googleusercontent.com/-Kzqx4xhc2CM/VX2WWWF2AYI/AAAAAAAAN6o/MQEBYdlaDP4/s800/SurrendersFocusOnKeystroke.png) * サンプルコード [#m1e9e6bd] * サンプルコード [#sourcecode] #code(link){{ table.setSurrendersFocusOnKeystroke(true); }} * 解説 [#pa71122e] * 解説 [#explanation] - `table.setSurrendersFocusOnKeystroke(false);` -- デフォルト -- マウスクリックでセル編集を開始した場合は、`JTable#setSurrendersFocusOnKeystroke(...)`の指定に依存せず、フォーカスはセルエディタに移動する -- キー入力でセル編集を開始した場合、フォーカスは`JTable`に残る --- このため、キー入力でセル編集を開始した直後にKBD{{C-a}}を入力すると`JTable`の行が全選択される -- `JTable`のデフォルト -- キー入力でセル編集を開始した場合フォーカスは`JTable`に残る --- このためキー入力でセル編集を開始した直後にKBD{Ctrl+A}を入力すると`JTable`の行が全選択される -- マウスクリックでセル編集を開始した場合はこの`JTable#setSurrendersFocusOnKeystroke(...)`の指定に依存せず、フォーカスはセルエディタに移動する - `table.setSurrendersFocusOnKeystroke(true);` -- キー入力でセル編集を開始した場合、フォーカスはセルエディタ(`JTextField`)に移動する --- このため、キー入力でセル編集を開始した直後にKBD{{C-a}}を入力するとセルエディタ内の文字列が全選択される -- キー入力でセル編集を開始した場合フォーカスはセルエディタ(`JTextField`)に移動する --- このためキー入力でセル編集を開始した直後にKBD{Ctrl+A}を入力するとセルエディタ内の文字列が全選択される -- `Java 11`以降では`JTable#putClientProperty("JTable.forceAutoStartsEdit", true);`を指定した場合も同様の動作になる * 参考リンク [#h167250d] - [http://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JTable.html#getSurrendersFocusOnKeystroke-- JTable (Java Platform SE 8 )] * 参考リンク [#reference] - [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JTable.html#setSurrendersFocusOnKeystroke-boolean- JTable#setSurrendersFocusOnKeystroke(boolean) (Java Platform SE 8)] * コメント [#i2e167bf] * コメント [#comment] #comment #comment