繁体   English   中英

JDialog 框没有获得焦点

[英]JDialog box not gaining focus

我正在生成一个无模式对话框,提示用户打开一个新的 window。 可以通过两种方式打开该框,直接从我正在编写的框架的文件菜单或间接通过我的面板插入的框架。

当我直接通过文件菜单拨打电话时,对话框会完全按照我的意愿显示焦点。 但是当我让框架间接打开对话框时,它没有应有的焦点。

两种打开对话框的方法之间似乎没有区别,在这两种情况下都会调用加载 function 并且直到 5 次方法调用之后才打开对话框。 在这两种情况下,生成对话框的框架都是在生成框时实现的。 在使对话框可见后,我尝试调用 requestFocus ,但它似乎没有做任何事情。

有什么建议为什么对话框没有焦点,或者我如何将它作为一个单独的 window 与通常有焦点的 window 分开?

在某些情况下,很难将 Focus 设置为预期的顶级容器,如此处所示,但对于出色的解决方法,最好查看 camickr 的Dialog Focus

创建对话框时,尝试将主 GUI 设置为对话框的父级。

在第一种情况下,当您从菜单中单击时,它会自动将主 GUI 设置为对话框的父级,但在第二种情况下不会。

因此,请确保在创建对话框时,始终将主 GUI/window 设置为父级。

大多数时候它应该有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM