【发布时间】:2013-09-05 17:34:42
【问题描述】:
我在这里阅读了一些类似的主题,但它们对我没有帮助。 我的 JDialog 未装饰,最初无法聚焦:
super(connectionsTree.getMainFrame(), "", false);
super.setUndecorated(true);
super.setFocusableWindowState(false);
super.setFocusable(false);
super.getContentPane().add(scrollPane);
super.pack();
现在,只要此对话框可见并且用户使用 Space 按钮,我必须使 JDialog 聚焦,以便它接收关键事件。 我是这样做的:
if (keyCode == 32) {
tooltip().setFocusable(true);
tooltip().setFocusableWindowState(true);
tooltip().requestFocusInWindow();
}
此代码使我的 JDialog 可聚焦,但 JDialog 没有聚焦,并且它没有掌握关键事件。
tooltip() 方法只返回我的 JDialog 的实例。
如何让我的 JDialog 以编程方式获得焦点?
谢谢!
【问题讨论】:
-
什么是
tooltip()?它有什么作用? -
这个方法只返回我的 JDialog 实例,它应该通过 requestFocusInWindow() 方法接收焦点。