1

我创建了一个带有组合框和一个按钮的 JFrame,它将创建一个新线程并继续执行操作。我想要一个新的 JFrame 从每个新线程开始,以将日志输出到新的 JFrame。但是,即使我将与 JFrame 相关的代码放在新线程中并关闭该 JFrame,它也会结束整个程序而不是那个正在运行的线程。使我想要的成为可能的最佳方法是什么?我只是希望在每个新线程启动时打开一个新的 JFrame,当我关闭该 JFrame 时,它​​将结束该线程。

问候!

4

2 回答 2

6

默认情况下,关闭 aJFrame只会隐藏它(请参阅文档setDefaultCloseOperation())。如果关闭窗口正在退出您的应用程序,这一定是由于您自己的代码。你不是,碰巧,打电话setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE),是吗?

于 2012-06-09T03:17:13.873 回答
4

这里有一些想法:

  • 不要阻塞事件派发线程;改为使用,如此SwingWorker所示。

  • 不要使用多帧;在具有合适布局的容器中使用面板。

于 2012-06-09T03:19:24.173 回答