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需要此线程才能运行该对话框。
那么这是如何运作的呢?