被这个问题难住了,但也许,只是可能,有人以前遇到过这个问题,可以给我指明正确的方向。
我有一个JDialog,用于显示一个长期运行的任务的进度,我已经明确地将其创建为具有定义所有者的模式:
progressDialog = new JDialog( ((Dialog)windowParent), true );
...
progressDialog.setVisible( true );
稍后,一旦任务完成,我将再次关闭对话框:
protected void done() {
SwingUtilities.invokeLater( new Runnable() {
public void run() {
progressDialog.setVisible( false );
}
} );
}
在非常罕见的情况下,对话a)不关闭,并且b)不是真正的模态,即用户能够与(理论上的)对话后面的窗口交互。你知道这是什么原因造成的吗?不幸的是,到目前为止,这种情况很少发生,只发生在Linux系统上。这可能是一个Swing bug,或者我可能做错了什么?
https://stackoverflow.com/questions/649815
复制