java - 销毁当前类对象并通过线程运行同一个类

标签 java multithreading swing

我正在调用一个线程,在该线程中我再次调用同一个类

TrafficMainGUI traffic=new TrafficMainGUI(storeValue);
traffic.setVisible(true);

但我希望前一个类对象被销毁。我怎样才能实现这一点。

由于 TrafficMainGUI 是一个 jFrame 对象。请帮忙??

最佳答案

要正确销毁 JFrame,您应该 dispose它。

previousTraffic.dispose();
TrafficMainGUI traffic=new TrafficMainGUI(storeValue);
traffic.setVisible(true);

来自文档:

释放此窗口、其子组件及其所有子组件使用的所有 native 屏幕资源。也就是说,这些组件的资源将被销毁,它们消耗的任何内存都将返回给操作系统,并且它们将被标记为不可显示。

您的问题对于您正在使用线程做什么非常模糊。 正如 @MadProgrammer 所提到的,当您使用 swing 时,您应该考虑 EDT 。但要获得更具体的帮助,您应该提供 sscce .

关于java - 销毁当前类对象并通过线程运行同一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15472616/

相关文章:

java - 在 JOptionPane 中将消息分成两行或多行

java - 使用 clip.loop(Clip.LOOP_CONTINUOUSLY) 时在 java 中设置重复音频剪辑之间的时间间隔;

java - 尝试创建 3x 密码检查器(使用按钮和 GUI)

java - 如果文件存在,如何锁定它而不创建它?

c++ - 等待所有线程完成一项工作然后再做另一项

multithreading - Scala 同步最佳实践

java - 如何使用JDialog获取输入

Java数字格式异常使用

java - 要放入 Vector 的字符串数组

Java Swing并发显示JTextArea