我不久前编写了一个数据绘图仪应用程序,它具有自动重新加载功能。加载和重新加载操作都会导致弹出带有取消按钮的 JDialog。在自动重新加载模式下,这种情况每隔几秒就会发生一次,JDialog 窗口每次都会请求焦点。
我尝试在 JDialog
实例上调用 setFocusableWindowState(false)
,但这没有任何区别。难道是因为它是一个 JDialog
而不是 Window
的其他子类?
更新:setFocusableWindowState(false)
确实有效,我只是愚蠢地运行了错误的 jar 文件。很长的故事。不管怎样,我不会删除这个问题,因为当我在发布它之前做了一些研究时,我看到其他一些人也遇到了类似问题。这就是解决方案:)
最佳答案
您必须将这两个语句放在扩展 JDialog
的类的构造函数中
setFocusableWindowState(false);
setFocusable(false);
因此,每次 JDialog 出现时,父容器仍会将焦点放在它所拥有的内容上。
关于java - 如何阻止JDialog每次都请求焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27962216/