JTableのセルを編集開始したときにセルエディタがフォーカスを取得するよう設定する
Total: 7142, Today: 2, Yesterday: 0
Posted by aterai at
Last-modified:
Summary
JTableのセルを編集開始したときにセルエディタがフォーカスを取得するかどうかを設定で切り替えます。
Screenshot

Advertisement
Source Code Examples
Description
table.setSurrendersFocusOnKeystroke(false);JTableのデフォルト- キー入力でセル編集を開始した場合フォーカスは
JTableに残る- このためキー入力でセル編集を開始した直後にCtrl+Aを入力すると
JTableの行が全選択される
- このためキー入力でセル編集を開始した直後にCtrl+Aを入力すると
- マウスクリックでセル編集を開始した場合はこの
JTable#setSurrendersFocusOnKeystroke(...)の指定に依存せず、フォーカスはセルエディタに移動する
table.setSurrendersFocusOnKeystroke(true);- キー入力でセル編集を開始した場合フォーカスはセルエディタ(
JTextField)に移動する- このためキー入力でセル編集を開始した直後にCtrl+Aを入力するとセルエディタ内の文字列が全選択される
Java 11以降ではJTable#putClientProperty("JTable.forceAutoStartsEdit", true);を指定した場合も同様の動作になる
- キー入力でセル編集を開始した場合フォーカスはセルエディタ(