gpt4 book ai didi

java - 处置 JFrame

转载 作者:行者123 更新时间:2023-11-29 04:07:23 27 4
gpt4 key购买 nike

我正在尝试使用以下方法处理我的 JFrame:

private void killJFrame(JFrame jFrame) {
SwingUtilities.invokeLater(() -> jFrame.dispose());
}

killJFrame() 被执行时,JFrame 变得不可见,看起来它起作用了。但是,当调用 Frame.getFrames() 时,返回的数组仍然包含在我的应用程序中创建的所有 JFrame

如果我这样尝试没有区别:

private void killJFrame(JFrame jFrame) {
jFrame.dispose();
}

我只是觉得如果我将我的 JFrame 放在事件派发线程上会更好。

为什么返回的 Frame.getFrames() 数组仍然包含我的 JFrames

最佳答案

Java 使用垃圾收集器。处理框架只会使其为垃圾回收做好准备,因此这些 JFrames 一直存在,直到 GC 进入并删除它们。

JFrame.dispose() 仅释放资源

在 Java 中,对象是指向一组资源的引用。因此,如果内存被清除,引用仍然存在。

关于java - 处置 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57686535/

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