javadoc の HIDE_ON_CLOSE デフォルト オプションは、
登録された WindowListener オブジェクトを呼び出した後、フレームを自動的に非表示にします。
では、「HIDE」とは何を意味するのでしょうか。現実のオブジェクトは破壊されますか、それとも単に非表示にしてリソースを使用し続けますか?
javadoc の HIDE_ON_CLOSE デフォルト オプションは、
登録された WindowListener オブジェクトを呼び出した後、フレームを自動的に非表示にします。
では、「HIDE」とは何を意味するのでしょうか。現実のオブジェクトは破壊されますか、それとも単に非表示にしてリソースを使用し続けますか?
HIDE_ON_CLOSEと同じですJFrame.setVisible(false)。
その後JFrame、非表示のみで、目に見えない、何らかの形で破壊されず ( についても同じJFrame.dispose())、JFrame.setVisible(true)画面に再び表示され、変更なしで表示されます。
編集
@giozhが書いたのですが、jframeを破棄したい場合(アプリケーション全体を閉じずに)?
デフォルトでは、別の を作成する理由がないため、理由はありJFrameません。使用しないでくださいCardLayout(画面のサイズJFrame.pack()を変更する必要がある場合)JFrames
これらすべてObjectが維持され、JVM メモリが増加している場合never will be CG'ed、JFrame.HIDE_ON_CLOSE、JFrame.DISPOSE_ON_CLOSEまたはJFrame.setVisible(false)
(あなたが嫌いなケースではCardLayout)からすべてを削除してJComponentsから、 new 、 set 、および最後のコード行JFrames ContentPaneを追加することができます(すでに表示されているものへのすべての変更が行われ た 後)JComponentsLayoutManagerJFrameJFrame.(re)validate();JFrame.repaint();JFrame.pack();
破壊せずにバックグラウンドに隠し、記憶に留めておく