• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JTableの次行にTabキーでフォーカスを移動
#navi(../)
#tags()
#tags(JTable, InputMap)
RIGHT:Posted by &author(aterai); at 2005-04-18
*JTableの次行にTabキーでフォーカスを移動 [#ke417f84]
Tabキーでセルのフォーカスが次行に移動するように設定します。
``Tab``キーでセルのフォーカスが次行に移動するように設定します。

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

//#screenshot
#ref(http://lh6.ggpht.com/_9Z4BYR88imo/TQTS5aM0UvI/AAAAAAAAAjg/g-wlrmrzml8/s800/SelectNextRow.png)

**サンプルコード [#q9096c71]
#code(link){{
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));
}}

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

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

[http://forums.sun.com/thread.jspa?threadID=509913 Swing (Archive) - JTable skiping the cells disableds]に、編集できないセルを飛ばして、Tabキーでフォーカス移動することができるサンプルがあるので参考にしてください。
[https://forums.oracle.com/forums/thread.jspa?threadID=1482284 Swing (Archive) - JTable skiping the cells disableds]に、編集できないセルを飛ばして、``Tab``キーでフォーカス移動することができるサンプルがあるので参考にしてください。

**参考リンク [#ub9a007e]
-[http://forums.sun.com/thread.jspa?threadID=509913 Swing (Archive) - JTable skiping the cells disableds]
- [https://forums.oracle.com/forums/thread.jspa?threadID=1482284 Swing (Archive) - JTable skiping the cells disableds]

**コメント [#h20d6278]
#comment