0

美好的一天,我想在新线程中使用 java swing 打开选项卡,并且它有机会运行耗时的任务以在选项卡之间切换。试过了,选项卡的副本实现了接口 Runnable,但是一个新线程无效(在调试器中它开始挂起大约 1 秒,然后被杀死),据我了解构造函数工作正常,并且所有内容swing 被放置在它的主要流中。我阅读了有关 SwingWorker 的信息,但不太了解如何将其应用于我的问题。如果可以,请举个例子。提前致谢。

PS这是网络应用程序,“负载”将作为服务器的工作。也就是说,换句话说,让用户能够在选项卡之间切换,直到当前选项卡成为连接。

4

1 回答 1

1

您应该尝试将执行实际工作的代码与指定 GUI 的代码分开。您应该搜索例如模型-视图-控制器-模式 (MVC)。

这样,GUI 代码可以在 Swing / AWT 的事件调度线程 (EDT) 内运行,它或多或少是如何集成的。执行实际工作的代码应尽可能独立于 GUI。现在您可以选择在专用线程中运行它,或者任何最适合您的整体应用程序架构的线程。

最后一部分是将这两者(GUI 和域逻辑)连接在一起,以便 GUI 触发工作代码或工作代码触发 GUI 更新,或者满足工作流要求的任何内容。

于 2013-07-24T10:05:11.187 回答