我有两个表 Employee 和 Manager。如果我输入 Employee 表,那么焦点应该放在 Manager 表上。我使用了 ChangeSelection,但它不起作用。
最佳答案
我能想到的最简单的解决方案是将键绑定(bind)附加到 Employee
表,将焦点移动到 Manager
看看Key Bindings了解更多详情。
在操作处理程序中,您需要使用 Manager
表的实例调用 requestFocusInWindow
。
我确实查看了焦点子系统,但这会影响整个焦点根,我觉得这超出了您所要求的范围。
已更新
您可以更改焦点遍历键,但这只会将焦点移动到下一个可聚焦组件...
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);
关于java - 在 Jtables 查询之间切换焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17259922/