JFrame: Unterschied zw. HIDE_ON_CLOSE und DISPOSE_ON_CLOSE

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo!

Ich wüsste gerne was eigentlich der Unterschied zwischen JFrame.HIDE_ON_CLOSE und JFrame.DISPOSE_ON_CLOSE ist.

Ich hab beides gerade ausprobiert und keinen Unterschied im Verhalten feststellen können. Wenn ich den geschlossen Frame wieder mit setVisible(true), sichtbar mache dann wird in beiden Fällen das Fenster wieder angezeigt und der Fensterinhalt hat sich auch nicht verändert.
 

KISS

Bekanntes Mitglied
doch doch, da ist schon ein unterschied. bei Window.dispose() gibt alle nativen resourcen des os wieder frei, hide nicht.
 

L-ectron-X

Gesperrter Benutzer
DISPOSE_ON_EXIT zerstört auch die Instanz der Fensterklasse und gibt somit wieder Speicher frei.
Auf diese Instanz ist dann logischerweise kein Zugriff mehr möglich.
HIDE_ON_CLOSE macht das Fenster nur unsichtbar, vergleichbar mit setVisible(false). Daber bleibt die Instanz der Fensterklasse erhalten, es wird kein Speicher freigegeben und man kann das Fenster wieder benutzen z.B. erneut sichtbar machen.
 

KISS

Bekanntes Mitglied
L-ectron-X hat gesagt.:
DISPOSE_ON_EXIT zerstört auch die Instanz der Fensterklasse und gibt somit wieder Speicher frei.
Auf diese Instanz ist dann logischerweise kein Zugriff mehr möglich.
HIDE_ON_CLOSE macht das Fenster nur unsichtbar, vergleichbar mit setVisible(false). Daber bleibt die Instanz der Fensterklasse erhalten, es wird kein Speicher freigegeben und man kann das Fenster wieder benutzen z.B. erneut sichtbar machen.


wo immer du deine weisheiten her hast, sie sind falsch. die instanz des fensters bleibt natuerlich erhalten. pack() und show() binden dann wieder systemresourcen, siehe auch hier
 

L-ectron-X

Gesperrter Benutzer
War mir neu. Danke für den Hinweis.
@KISS: Und irgendwie gefällt mir dein Ton hier nicht.
Und wo wir gerade dabei sind, du bist natürlich ohne Fehler...
Benutz mal deinen Link, dann wirst du sicher auch herausfinden, dass show() schon seit geraumer Zeit deprecated ist.
 

KISS

Bekanntes Mitglied
L-ectron-X hat gesagt.:
@KISS: Und irgendwie gefällt mir dein Ton hier nicht.
ich habe nur den, lebe damit

L-ectron-X hat gesagt.:
Und wo wir gerade dabei sind, du bist natürlich ohne Fehler...
habe ich nie behaupted

L-ectron-X hat gesagt.:
Benutz mal deinen Link, dann wirst du sicher auch herausfinden, dass show() schon seit geraumer Zeit deprecated
ist.

und? trotzdem handlen show und pack die peers. ich habe nie geschrieben das er show benutzen soll.
 
G

Guest

Gast
Hallo!

Ok, HIDE_ON_CLOSE ist mir jetzt klar, aber ich hab noch ein paar Fragen zu DISPOSE_ON_CLOSE. So wie ich das jetzt verstanden habe, werden die Resourcen freigegeben, wenn das Fenster geschlossen ist. Macht man das Fenster mit setVisible wieder auf, dann werden die Resourcen neu gebunden. Was versteht man in diesem Fall aber unter Resourcen freigeben? Heisst das, dass diese einfach Kandidaten für die Garbage Collection sind, oder passiert da auch noch was Anderes? Und, was heisst das jetzt für den Fensterinhalt?

Wenn man z.B. ein paar Textfelder im Fenster hat und das Fenster dann schliesst und danach wieder öffnet, ist das Verhalten bezüglich des Inhalts der Textelder dann undefiniert? D.h. wenn in der Zeit in der das Fenster geschlossen war der Garbage Collector tätig war, dann werden die Textfelder neu erzeugt und ein eventuell vorhandener Inhalt geht verloren, war der Garbage Collector nicht aktiv, dann könnte es sein, dass die Textfelder immer noch den alten Inhalt darstellen.
 
B

Beni

Gast
Die Oberfläche bemerkt von dem Vorgang überhaupt nichts.
Der Unterschied ist viel tiefer im System: jedes (Java)-Fenster wird auf ein "echtes" Fenster des Betriebssystemes gemappt.
Bei HIDE wird diese Verbindung belassen, bei DISPOSE wird die Verbindung gelöscht.
Machst du das Fenster später wieder sichtbar, ist ein mit HIDE geschlossenes Fenster schneller wieder da, weil das echte Fenster immernoch im Speicher ist. Bei DISPOSE muss dann erst wieder ein neues Fenster in den Speicher geholt werden.

Eigenschaften, wie "was steht in meinem Textfeld" werden davon überhaupt nicht beeinflusst. Wenn du nicht mit einem Profiler hinter dein Programm gehst, wirst du keinen Unterschied bemerken.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Unterschied JPanel und JFrame Java Basics - Anfänger-Themen 5
W Unterschied JFrame und JLabel bezüglich Layout? Java Basics - Anfänger-Themen 2
fragenÜber(fragen); Turtle Grafik mit GUI (JFrame) Java Basics - Anfänger-Themen 3
E JFrame + Buffer-strategy Java Basics - Anfänger-Themen 8
I JFrame / Screen auf zweitem (definiertem) Monitor öffnen Java Basics - Anfänger-Themen 3
luggas89 Mit Jframe live zeichnen Java Basics - Anfänger-Themen 4
C mehrere JPanel in ein JFrame bringen Java Basics - Anfänger-Themen 9
B HSQL mit JFrame steuern Java Basics - Anfänger-Themen 4
D Wie Objekte im JFrame frei bewegen lassen? Java Basics - Anfänger-Themen 3
D Erste Schritte png in JFrame anzeigen? Java Basics - Anfänger-Themen 3
Thomathy Interface Wie schließt man ein anderes JFrame Fenster? Java Basics - Anfänger-Themen 6
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
P JFrame, Linien zeichnen, MouseListener Java Basics - Anfänger-Themen 2
S Kontrollieren ob jframe disposed ist Java Basics - Anfänger-Themen 3
Elyt JFrame in den Hintergrund verschieben Java Basics - Anfänger-Themen 3
OSchriever JFrame-Anwendungsfenster verschieben Java Basics - Anfänger-Themen 17
M Bild in JFrame Java Basics - Anfänger-Themen 1
S Klassenaufruf über JFrame Button Java Basics - Anfänger-Themen 3
W 2 JPanel in einem JFrame Java Basics - Anfänger-Themen 4
CptK Interface Klasse Frame (extends JFrame) aus anderer Klasse schließen Java Basics - Anfänger-Themen 7
S JFrame mit Hintergrundbild und Button Java Basics - Anfänger-Themen 4
S JFrame Java Basics - Anfänger-Themen 15
I JFrame proportional verkleinerbar machen Java Basics - Anfänger-Themen 3
B Java JFrame zeichnen Java Basics - Anfänger-Themen 4
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
T Auslagern von Methoden bei einem JFrame Java Basics - Anfänger-Themen 6
N Erste Schritte JFrame Caesar-Verschlüsselung Java Basics - Anfänger-Themen 23
B Erste Schritte Objekte von JFrame der Fenstergröße anpassen Java Basics - Anfänger-Themen 3
J JFrame Fenster öffnet sich nicht Java Basics - Anfänger-Themen 7
3 JFrame immer im Hintergrund Java Basics - Anfänger-Themen 1
F Interface JFrame mit if-Abfrage automatisch schließen lassen? Java Basics - Anfänger-Themen 3
R JFrame nicht verschiebbar Java Basics - Anfänger-Themen 2
T Wenn JFrame Textfelder Hintergrund Grün dann... (if) Java Basics - Anfänger-Themen 3
K Java JFrame mit Hintergrundbild erstellen Java Basics - Anfänger-Themen 1
Aruetiise Variablen JFrame und Variablen Java Basics - Anfänger-Themen 3
H Eclipse JFrame Java Basics - Anfänger-Themen 3
C Variablen von einem JFrame in einen anderen übertragen Java Basics - Anfänger-Themen 3
M Bild wird von JFrame nicht geladen Java Basics - Anfänger-Themen 12
I JFrame minimieren wenn anderes Programm minimiert wird Java Basics - Anfänger-Themen 1
K Methoden Methode starten wenn JFrame geöffnet wird Java Basics - Anfänger-Themen 2
D Erste Schritte JFrame Inhalte werden nicht angezeigt Java Basics - Anfänger-Themen 8
A Variablen In anderer Klasse auf Objekte von JFrame zugreifen Java Basics - Anfänger-Themen 1
B Ist MyFrame oder JFrame besser? Java Basics - Anfänger-Themen 3
Y JFrame sichtbarkeit Java Basics - Anfänger-Themen 4
KeVoZ_ Label auf JFrame willkürlich Positionieren Java Basics - Anfänger-Themen 2
Dechasa Interface JFrame mit mehreren Übereinander liegenden JPanel Java Basics - Anfänger-Themen 5
P JFrame nur einmal öffnen Java Basics - Anfänger-Themen 4
D JFrame - 10 Sekunden bis zum schließen warten. Java Basics - Anfänger-Themen 2
V Tastatur initialisieren JFrame Probleme Java Basics - Anfänger-Themen 6
J JPG in JFrame anzeigen lassen Java Basics - Anfänger-Themen 3
J JFrame ausgabe von Werten Java Basics - Anfänger-Themen 9
F GUI als Klasse oder extend JFrame? Java Basics - Anfänger-Themen 6
F JFrame resize verschiebt JPanel Java Basics - Anfänger-Themen 3
S Wieso wird mein JFrame transparent dargestellt? Java Basics - Anfänger-Themen 5
L [JFrame] Exception - woher? Java Basics - Anfänger-Themen 8
thomasbomme Grafikfehler JFrame- Cleartype Java Basics - Anfänger-Themen 1
GreyFox Arbeit mit JFrame Java Basics - Anfänger-Themen 8
T Erste Schritte 2 Codes zusammen fügen / Label in JFrame Java Basics - Anfänger-Themen 1
Z Zwei Images auf einem JFrame - Aber nur eins wird angezeigt! Java Basics - Anfänger-Themen 5
N Input/Output Wenn kein Input, dann Fehler anzeigen lassen im JFrame Java Basics - Anfänger-Themen 6
W 2 JPanels in 2Klasse in einem JFrame zusammenfügen Java Basics - Anfänger-Themen 12
dat_vin JFrame öffnet sich mehrmals Java Basics - Anfänger-Themen 6
M JFrame Bild einfügen Java Basics - Anfänger-Themen 3
M Rahmen für undekorierten JFrame Java Basics - Anfänger-Themen 6
S JPanel wird versetzt auf JFrame gelegt Java Basics - Anfänger-Themen 2
B Erste Schritte JFrame in Klasse auslagern Java Basics - Anfänger-Themen 4
H JFrame komplett schließen Java Basics - Anfänger-Themen 3
S Brauche hilfe bei Pong (JFrame) Java Basics - Anfänger-Themen 2
M hintergrund in jframe festlegen Java Basics - Anfänger-Themen 4
J JFrame Render Fehler - Warum? Java Basics - Anfänger-Themen 2
I komponenten werden in JFrame nicht richtig angezeigt Java Basics - Anfänger-Themen 1
E 2. JFrame erkennt 1. Frame Java Basics - Anfänger-Themen 6
D Best Practice JFrame im JFrame Java Basics - Anfänger-Themen 2
P Bild in JFrame Titelleiste Java Basics - Anfänger-Themen 7
S Erste Schritte Von JFrame in nächstes JFRame wechseln Java Basics - Anfänger-Themen 0
V JFrame aktualisieren Java Basics - Anfänger-Themen 6
S JFrame ist nicht schwarz Java Basics - Anfänger-Themen 5
B JPanel/JFrame in ein Applet umwandeln (Webfähig) Java Basics - Anfänger-Themen 7
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
S JFrame wird nicht "bemalt" Java Basics - Anfänger-Themen 2
M Unsichtbare Objekte in JFrame Java Basics - Anfänger-Themen 2
S Textdatei einlesen und JFrame füllen Java Basics - Anfänger-Themen 14
Sogomn JLabel in anderer Klasse zum JFrame hinzufügen Java Basics - Anfänger-Themen 2
B Drawline wird auf JFrame nicht angezeigt Java Basics - Anfänger-Themen 3
N Fokus setzen nachdem JFrame in Vordergrund geholt wurde Java Basics - Anfänger-Themen 7
K Methoden Objekt auf JFrame zeichnen Java Basics - Anfänger-Themen 16
S JFrame leeren Java Basics - Anfänger-Themen 6
X JFrame Fenster einzeln schließen Java Basics - Anfänger-Themen 2
J Klick auf Button -> JFrame öffnet sich erneut. & Datei lässt sich nicht löschen Java Basics - Anfänger-Themen 7
K Erste Schritte Jframe Im Jpanel Java Basics - Anfänger-Themen 4
D Kein Zugriff auf JFrame Java Basics - Anfänger-Themen 2
P JFrame Component automatische Größe verhindern Java Basics - Anfänger-Themen 2
D JFrame, Komponenten verschmiert. Java Basics - Anfänger-Themen 15
M Schriftfarbe in JFrame Java Basics - Anfänger-Themen 24
A JFrame läuft ewig? Java Basics - Anfänger-Themen 2
U JFrame durch ActionListener erweitern Java Basics - Anfänger-Themen 4
B Wie kann man auf das JFrame einer anderen Klasse zugreifen, etwas hinzufügen und entfernen?? Java Basics - Anfänger-Themen 3
N JFrame-Objekt in neuer Methode nicht verfügbar? Java Basics - Anfänger-Themen 3
A Frage zu: JFrame setLocationRelativeTo Java Basics - Anfänger-Themen 3
N Erste Schritte Prozessor Kernanzahl in JFrame Java Basics - Anfänger-Themen 3

Ähnliche Java Themen


Oben