Swing 对话如何工作?
如果你在 Swing 中打开一个对话框,例如一个 JFileChooser,它有点像这个伪代码:
swing event thread { create dialog add listener to dialog close event { returnValue = somethingFromDialog } show dialog (wait until it is closed) return returnValue }
我的问题是:这怎么可能起作用?如您所见,线程一直等待返回,直到对话框关闭。这意味着 Swing 事件线程被阻止。但是,可以与对话框进行交互,AFAIK需要此线程才能运行该对话框。
那么这是如何运作的呢?