如何阻止 JDialog 每次都请求焦点?

How to stop JDialog from requesting focus every time?

我刚才写了一个数据绘图仪应用程序,它有一个自动加载功能。加载和重新加载操作都会导致弹出带有取消按钮的 JDialog。在自动重载模式下,这种情况每隔几秒钟发生一次,JDialog window 每次都请求焦点。

我尝试在 JDialog 实例上调用 setFocusableWindowState(false),但这没有任何区别。可能是因为它是 JDialog 而不是 Window 的其他子类吗?

更新:setFocusableWindowState(false) 确实有效,我只是愚蠢地 运行 错误的 jar 文件。很长的故事。无论如何,我不会删除这个问题,因为当我在发布它之前做了一些研究时,我看到其他一些人也遇到了类似的问题。这就是解决方案:)

您必须将这两个语句放在 class 扩展 JDialog

的构造函数中
setFocusableWindowState(false);
setFocusable(false);

因此,每次出现 JDialog 时,父容器仍会关注它所拥有的内容。

毕竟

setFocusableWindowstate() 确实有效。这是我自己的愚蠢错误:我是 运行 错误的 jar 文件,即不是修复的那个。感谢大家的建议。