gpt4 book ai didi

java - JTabbedPane+多线程 : Open tab in a new thread

转载 作者:行者123 更新时间:2023-12-01 14:18:51 25 4
gpt4 key购买 nike

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

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

最佳答案

您应该尝试将执行实际工作的代码与指定 GUI 的代码分开。您应该搜索例如对于模型- View - Controller -模式 (MVC)。

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

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

关于java - JTabbedPane+多线程 : Open tab in a new thread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17830456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com