TITLE:JTableの次行にTabキーでフォーカスを移動

Posted by at 2005-04-18

JTableの次行にTabキーでフォーカスを移動

`Tab`キーでセルのフォーカスが次行に移動するように設定します。

  • &jnlp;
  • &jar;
  • &zip;
SelectNextRow.png

サンプルコード

InputMap im = table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
KeyStroke tab   = KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0);
KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
im.put(tab, im.get(enter));
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、チェックボックスで`Tabキーでのフォーカスの移動(セル毎に移動)が、Enter`キーと同じ(行毎に移動)になるように切り替えています。

逆遷移の`Shift+Tabなども対応する場合は、修飾子を0の代わりにInputEvent.SHIFT_MASK`にして、同様に変更しています。

Swing (Archive) - JTable skiping the cells disabledsに、編集できないセルを飛ばして、`Tab`キーでフォーカス移動することができるサンプルがあるので参考にしてください。

参考リンク

コメント