gpt4 book ai didi

java - JFrame 和 setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE)

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:48:41 28 4
gpt4 key购买 nike

在 javadoc 上,HIDE_ON_CLOSE 默认选项说明了这一点

Automatically hide the frame after invoking any registered WindowListener objects.

“隐藏”是什么意思?现实对象被销毁或只是隐藏并继续使用资源?

最佳答案

On javadoc, the HIDE_ON_CLOSE default option says that

Automatically hide the frame after invoking any registered WindowListener objects.

Now what it means "HIDE"? the realtive object is destroyed or just hide and continue using resources?

  • HIDE_ON_CLOSEJFrame.setVisible(false) 相同,

  • 然后 JFrame 仅隐藏,不可见,不会被 JFrame 以某种方式破坏(JFrame.dispose() 也是如此)。 setVisible(true) 在屏幕上再次可见并且没有任何变化

编辑

@giozh wrote and if i want to destroy the jframe (without close the entire application)?

  1. 默认情况下没有任何理由,因为默认情况下没有理由创建另一个 JFrame,不要那样做,使用 CardLayout(与JFrame.pack() 如果需要更改屏幕上的 JFrames 大小)

  2. and all those Object stays and increasing JVM memory, never will be CG'ed ,那么 JFrame.HIDE_ON_CLOSEJFrame.DISPOSE_ON_CLOSEJFrame.setVisible(false) 之间的 JVM 内存没有显着差异

  3. (在您讨厌 CardLayout 的情况下)您可以从 JFrames ContentPane 中删除所有 JComponents,然后添加新的JComponents,设置 LayoutManager 和最后一行代码(在对已可见的 JFrame 进行所有更改后)将是 JFrame。(重新)validate();JFrame.repaint();JFrame.pack();

关于java - JFrame 和 setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17743486/

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