概要

JTableのセルを編集開始したときに、セルエディタがフォーカスを取得するかどうかを設定で切り替えます。

サンプルコード

table.setSurrendersFocusOnKeystroke(true);
view all

解説

  • table.setSurrendersFocusOnKeystroke(false);
    • デフォルト
    • マウスクリックでセル編集を開始した場合は、JTable#setSurrendersFocusOnKeystroke(...)の指定に依存せず、フォーカスはセルエディタに移動する
    • キー入力でセル編集を開始した場合、フォーカスはJTableに残る
      • このため、キー入力でセル編集を開始した直後にCtrl+Aを入力するとJTableの行が全選択される
  • table.setSurrendersFocusOnKeystroke(true);
    • キー入力でセル編集を開始した場合、フォーカスはセルエディタ(JTextField)に移動する
      • このため、キー入力でセル編集を開始した直後にCtrl+Aを入力するとセルエディタ内の文字列が全選択される

参考リンク

コメント