在 javadoc 上,HIDE_ON_CLOSE 默认选项说
调用任何注册的 WindowListener 对象后自动隐藏框架。
现在它是什么意思“隐藏”?真实对象被破坏或只是隐藏并继续使用资源?
在 javadoc 上,HIDE_ON_CLOSE 默认选项说
调用任何注册的 WindowListener 对象后自动隐藏框架。
现在它是什么意思“隐藏”?真实对象被破坏或只是隐藏并继续使用资源?
HIDE_ON_CLOSE与 相同JFrame.setVisible(false),
然后JFrame仅隐藏,不可见,不会以某种方式被破坏(对于 相同JFrame.dispose()),byJFrame.setVisible(true)在屏幕上再次可见并且没有任何变化
编辑
@giozh 写道,如果我想销毁 jframe(不关闭整个应用程序)?
默认情况下没有任何理由,因为默认情况下没有理由创建另一个JFrame,不要那样做,使用CardLayout(JFrame.pack()如果需要更改JFrames屏幕大小)
并且所有这些都Object保持并增加 JVM 内存,never will be CG'ed那么 JVM 内存之间没有显着差异JFrame.HIDE_ON_CLOSE,JFrame.DISPOSE_ON_CLOSE或者JFrame.setVisible(false)
(在您讨厌的情况CardLayout下)您可以从 中删除所有内容JComponents,JFrames ContentPane然后添加新JComponents的、设置LayoutManager的和最后的代码行(在对已经可见的所有更改JFrame完成之后)将是 JFrame.(re)validate();,JFrame.repaint();并且 JFrame.pack();
HIDE_ON_CLOSE意味着它只会消失,但会在后台运行并消耗资源,尽管在屏幕上不可见。
但是使用EXIT_ON_CLOSE,相反,它会消失并杀死应用程序(如果你想真正关闭应用程序,请使用它)
将其隐藏在后台而不破坏它,将其保存在内存中