3

javadoc の HIDE_ON_CLOSE デフォルト オプションは、

登録された WindowListener オブジェクトを呼び出した後、フレームを自動的に非表示にします。

では、「HIDE」とは何を意味するのでしょうか。現実のオブジェクトは破壊されますか、それとも単に非表示にしてリソースを使用し続けますか?

4

3 に答える 3

6

javadoc の HIDE_ON_CLOSE デフォルト オプションは、

登録された WindowListener オブジェクトを呼び出した後、フレームを自動的に非表示にします。

では、「HIDE」とは何を意味するのでしょうか。現実のオブジェクトは破壊されますか、それとも単に非表示にしてリソースを使用し続けますか?

  • HIDE_ON_CLOSEと同じですJFrame.setVisible(false)

  • その後JFrame、非表示のみで、目に見えない、何らかの形で破壊されず ( についても同じJFrame.dispose())、JFrame.setVisible(true)画面に再び表示され、変更なしで表示されます。

編集

@giozhが書いたのですが、jframeを破棄したい場合(アプリケーション全体を閉じずに)?

  1. デフォルトでは、別の を作成する理由がないため、理由はありJFrameません。使用しないでくださいCardLayout(画面のサイズJFrame.pack()を変更する必要がある場合)JFrames

  2. これらすべてObjectが維持され、JVM メモリが増加している場合never will be CG'edJFrame.HIDE_ON_CLOSEJFrame.DISPOSE_ON_CLOSEまたはJFrame.setVisible(false)

  3. (あなたが嫌い​​なケースではCardLayout)からすべてを削除してJComponentsから、 new 、 set 、および最後のコード行JFrames ContentPaneを追加することができます(すでに表示されているものへのすべての変更が行われ た 後)JComponentsLayoutManagerJFrameJFrame.(re)validate();JFrame.repaint();JFrame.pack();

于 2013-07-19T10:12:30.427 に答える
0

破壊せずにバックグラウンドに隠し、記憶に留めておく

于 2013-07-19T10:10:55.487 に答える