[英]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.