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

时间:2015-01-15 11:18:24

标签: java swing jdialog

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

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

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

2 个答案:

答案 0 :(得分:1)

您必须在扩展JDialog

的类的构造函数中放置这两个语句
setFocusableWindowState(false);
setFocusable(false);

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

答案 1 :(得分:0)

毕竟,

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