【发布时间】:2011-03-03 00:18:22
【问题描述】:
如果您在 Swing 中打开一个对话框,例如 JFileChooser,它有点像下面的伪代码:
swing 事件线程 {
创建对话框
将侦听器添加到对话框关闭事件 {
returnValue = somethingFromDialog
}
显示对话框
(等到它关闭)
返回返回值
}
我的问题是:这怎么可能起作用?如您所见,线程等待返回,直到对话框关闭。这意味着 Swing 事件线程被阻塞。然而,人们可以与对话框进行交互,AFAIK 需要此线程运行。
那么它是如何工作的呢?
【问题讨论】:
标签: java multithreading swing jfilechooser jdialog