繁体   English   中英

javax.swing.JDialog在失去焦点时会冻结吗?

[英]javax.swing.JDialog freezes when it loss focus?

我正在使用Swing编写应用程序。 我有我的主应用程序框架( javax.swing.JFrame ),它可以打开我的第一个javax.swing.JDialog ,称为ClientMngDialog ,其中包含一个javax.swing.JTable填充了从数据库中加载的数据。

当我在表中选择一个客户端时,我想在第一个javax.swing.JDialog上打开一个名为ClientEditDialog的第二个javax.swing.JDialog ,然后可以编辑所选客户端的信息。

这两个javax.swing.JDialog使用Dialog.ModalityType.DOCUMENT_MODAL ,因为Javadoc说:

文档模式对话框会阻止同一文档中的所有窗口,但其子层次结构中的窗口除外。 在这种情况下,文档是共享公共祖先的窗口层次结构,称为文档根,它是没有所有者的最近祖先窗口。

第一个对话框工作正常,没有发生任何奇怪的事情。 但是,当我单击对话框之外的其他位置时,位于第二个对话框上方的第二个对话框将冻结也许我可以将其视为失去焦点 )。 它上的所有组件都不再响应,我唯一能做的就是单击它的关闭按钮。

我尝试了Dialog.ModalityType.APPLICATION_MODAL ,没有帮助,总是同样的问题。 我将SwingUtilites.isEventDispatchThread()放在各处,并且按预期返回true

有人有线索吗?

ps我在Xfce 4 Desktop上使用Debian Wheezy。

重新启动计算机后,问题消失了。 真的很奇怪,我也不知道为什么。

暂无
暂无

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

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