Javadoc的,在HIDE_ON_CLOSE默认选项说的JFrame和setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE)
自动隐藏框架调用任何注册的WindowListener对象后。
现在这意味着什么“隐藏”?真实的对象被破坏或者隐藏并继续使用资源?
Javadoc的,在HIDE_ON_CLOSE默认选项说的JFrame和setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE)
自动隐藏框架调用任何注册的WindowListener对象后。
现在这意味着什么“隐藏”?真实的对象被破坏或者隐藏并继续使用资源?
Javadoc的,在HIDE_ON_CLOSE默认选项说
自动隐藏框架调用任何注册的WindowListener对象后。
现在这意味着什么“隐藏”?真实的对象被破坏或者隐藏并继续使用资源?
HIDE_ON_CLOSE
相同JFrame.setVisible(false)
,
然后JFrame
只隐伏的,无形的,不被破坏某种方式(同为JFrame.dispose()
),由JFrame.setVisible(true)
是在sceen再次可见和没有任何变化
编辑
@giozh写道,如果我想摧毁jframe(没有关闭 整个应用程序)?
默认情况下,没有任何理由,因为默认情况下没有任何理由创建另一个JFrame
,不这样做,使用CardLayout
(与JFrame.pack()
如果时,只需要在屏幕上改变JFrames
大小)
and all those Object
stays and increasing JVM memory, never will be CG'ed
,那么不存在用于JFrame.HIDE_ON_CLOSE
,JFrame.DISPOSE_ON_CLOSE
或JFrame.setVisible(false)
(在CASSE,你恨CardLayout
),你可以从JFrames ContentPane
删除所有JComponents
,然后添加新的JComponents
,设置LayoutManager
和最后的代码行(所有更改已经显现JFrame
完成后)将是JFrame.(re)validate();
,JFrame.repaint();
和JFrame.pack();
HIDE_ON_CLOSE
意味着它只会disppear,但会在后台和消耗资源来运行,虽然在屏幕上不可见。
但使用EXIT_ON_CLOSE
,反而使它消失以及杀死应用程序(使用这个,如果你想真正关闭应用程序)
隐藏基本上意味着它不会破坏原生reource /对,这是附加到,通常使其重新显示更快,因为它不需要创建本地对等体。另一方面处置会(摧毁本地同行)。因此,如果您不需要经常重新显示相框,请使用DISPOSE_ON_CLOSE,否则,请使用隐藏 – MadProgrammer