java - 在 Jtables 查询之间切换焦点?

标签 java swing jtable focusmanager

我有两个表 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/

相关文章:

java - 使用 Apache POI 读取 Excel .XLSX 时出错

java - 访问 Object[] 中 HashMap 的键/值对

Java - MouseWheelEvent 触发两次

java - 使用 JTable 条目作为按钮

java - 如何将 Mono<List<String>> 转换为 Flux<String>

java - Jboss wildfly Java 兼容性

java - 如何在另一个类中访问一个类的变量而不将它们设为静态?

java - 像 jquery 通知一样的 Swing 通知

java - 在拖放 JTable 中单击

java - 编辑单元格值时以十进制格式显示数据