在Jtables查询之间切换焦点?

时间:2013-06-23 10:41:07

标签: java swing jtable focusmanager

我有两个表Employee和Manager。如果我进入Employee Table,那么焦点应该放在Manager表上。我使用了ChangeSelection但是它不起作用。

1 个答案:

答案 0 :(得分:1)

我能想到的最简单的解决方案是将一个键绑定附加到Employee表,将焦点移到Manager

请查看Key Bindings了解详情。

在您的操作处理程序中,您需要使用requestFocusInWindow表的实例调用Manager

我确实看过焦点子系统,但这会影响整个焦点根,我认为这超出了你所要求的范围。

<强>更新

您可以更改焦点遍历键,但这只会将焦点移动到下一个可聚焦组件...

Set forward = new HashSet(table.getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS));
forward.add(KeyStroke.getKeyStroke("ENTER"));
table.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, forward);
//Set backward = new HashSet(table.getFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS));
//backward.add(KeyStroke.getKeyStroke("shift TAB"));
//table.setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, backward);