gpt4 book ai didi

java - 当一个面板从另一个面板中移除时停止执行线程

转载 作者:行者123 更新时间:2023-12-01 13:10:40 25 4
gpt4 key购买 nike

我在面板 (A) 内有一个面板 (B)。面板 (B) 开始执行线程并更新其自己的 GUI。

但有一种情况,用户退出面板 (B),而其他面板(例如面板 (C))代替 (B),而线程继续执行。

当面板 (B) 不再可见时,我想中断(停止)此线程...有什么建议吗?

最佳答案

一种选择是向面板 A 添加一个 ContainerListener。然后检查面板 B 是否被删除,并在面板 B 上调用“stopThread()”。我建议创建一个带有“stopThread()”的接口(interface)方法(称为接口(interface) C),为 B 创建自己的 Panel 类,以便 B 扩展 Panel 实现 C。

然后在ContainerListener.componentRemoved方法中,测试移除的组件:

if (component instanceof C)
{
C c = (C)component;
c.stopThread();
}

您甚至可以包含一个 startThread() 并在使用类似技术添加时调用它。

关于java - 当一个面板从另一个面板中移除时停止执行线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22894151/

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