我有两个表Employee和Manager。如果我进入Employee Table,那么焦点应该放在Manager表上。我使用了ChangeSelection但是它不起作用。
答案 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);