0

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

4

1 回答 1

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);
于 2013-06-23T10:59:04.500 回答