我想在另一个线程中创建一个 JDialog(将显示时间), 在主线程中,将运行一个函数..
当我创建对话框时,它显示了,但是它“卡住了”...我看不到 它的组件...
只有当主线程中的函数完成时 - 对话框才能正确显示..
我该如何解决?
最佳答案
如果您在 Swing EDT 上运行大型任务,那么它将阻止 UI 元素被重新绘制,因为这是所有 Swing 绘制发生的线程。
解决此问题的唯一明智方法是在单独的线程上运行大型任务。查看 SwingWorker
类:http://docs.oracle.com/javase/6/docs/api/javax/swing/SwingWorker.html
关于java - 新线程中的 JDialog 没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8417484/