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