Frame schließen, Ereignis behandeln, Vorgang abbrechen

jakob190590

Aktives Mitglied
Hi,

ich versteh nicht so ganz wie man das alles macht:

ich hab ein JInternalFrame, das (über Button oder Kreuz) ganz einfach erst nach einem Confirm-Dialog geschlossen werden soll.
(danach brauche ich es nicht mehr)


1.) nehme ich:?
Java:
this.setDefaultCloseOperation(JInternalFrameBearbeiten.DO_NOTHING_ON_CLOSE);
// oder
this.setDefaultCloseOperation(JInternalFrameBearbeiten.DISPOSE_ON_CLOSE);
und falls ich das erste nehme, passiert dann gar nichts wenn ich aufs Kreuzchen klicke?

2.) was muss der schließen JButton machen?
Java:
dispose()
// oder
setClosed(true)
// oder gibts noch was anderes,
// das ich übersehn hab?
und wenn ich das so mache, wird dann auch internalFrameClosing(..) vom Listener aufgerufen?

3.) was muss im InternalFrameListener unter internalFrameClosing(InternalFrameEvent) stehn?
Java:
if (speichern) {
	saveData();
	JInternalFrameBearbeiten.this.dispose();
} else if (nichtspeichern) {
	JInternalFrameBearbeiten.this.dispose();
} else { // abbrechen
  // nicht beenden
}

danke schon mal!
 

DarkLegend

Mitglied
1. also sofern sich das InternalFrame wie n normales JFrame verhält, musste den confirm Dialog selbst implementieren mit nem Listener (zumindest habe ich keinen anderen Weg gefunden)
Das würde bedeuten:
Java:
this.setDefaultCloseOperation(JInternalFrameBearbeiten.DO_NOTHING_ON_CLOSE);
und dann eben in nem WindowListener eine schließen Funktion aufrufen.

2. Wenn du setClosed nimmst, wird der definitiv Listener aufgerufen.

3. Versteh ich nicht ;)

Ps: Wenn jemand beim Dialog was anderes weiß, bitte melden :p
 

Tharsonius

Bekanntes Mitglied
Wenn man auf das X vom Fenster klickt, dann wird immer das Event INTERNAL_FRAME_CLOSING ausgelöst. Dies ist unabhängig vom default Verhalten.

Wenn man DISPOSE_ON_CLOSE hingegen ausgewählt hat, dann wird nach dem Event automatisch ein dispose aufgerufen, egal was man im closing event macht. Man kann dann halt nur noch beispielsweise Daten speichern etc, wenn das Event aber behandelt wurde, dann wird das Fenster geschlossen.

Man setzt also DO_NOTHING_ON_CLOSE als default. Dann bekommt man zwar das oben genannte Event, mehr passiert aber nicht nicht.

In dem Event selber schreibt man dann die Abfrage, ob geschlossen werden soll. Falls ja, beenden mittels dispose(), falls nein, einfach nichts tun.


Wenn Du zusätzlich zum X noch einen Schließen Button hast, der genau so reagieren soll, dann würde sich anbieten eine Methode doExit() zu schreiben, in der eben die Abfrage und das ggf. dispose() rein kommt. Das Event, als auch der Button rufen dann nur noch die Methode doExit() auf.
 

jakob190590

Aktives Mitglied
3. Versteh ich nicht ;)

Ps: Wenn jemand beim Dialog was anderes weiß, bitte melden :p
ja, wie des mitm Dialog geht weiß ich schon, wollte den Code hier nur kurz halten.

Ok, jetzt weiß ich wie es geht...
default-Verhalten: do nothing on close
und das Beenden geht dann nur durch die eine Methode mit dem Dialog,
die vom Listener "on closing" und vom Schließen-Button aufgerufen direkt wird.

also vielen Dank!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
CptK Interface Klasse Frame (extends JFrame) aus anderer Klasse schließen Java Basics - Anfänger-Themen 7
JAVAnnik Anwendung nach Schließen vom letzen Frame Java Basics - Anfänger-Themen 9
Luk10 Frame schließen Java Basics - Anfänger-Themen 2
A Frame schließen!? Help! Java Basics - Anfänger-Themen 5
H Modalen JDialog schließen, ohne dabei das Parent-Frame zu schließen Java Basics - Anfänger-Themen 7
A Java Frame per X schließen? Java Basics - Anfänger-Themen 7
I JButton zum frame schließen Java Basics - Anfänger-Themen 6
O Beim Schließen JDialog, im Frame-Owner eine Methode starten Java Basics - Anfänger-Themen 6
H Frame schließen Java Basics - Anfänger-Themen 5
M Frame Schließen Java Basics - Anfänger-Themen 5
G frame schließen Java Basics - Anfänger-Themen 2
G Zweiten Frame schließen Java Basics - Anfänger-Themen 3
S Schließen-Button bei awt.Frame Funktion zuweisen Java Basics - Anfänger-Themen 6
I Frame schließen, wenn anderes geöffnet wird Java Basics - Anfänger-Themen 2
S Frame schließen und positionieren Java Basics - Anfänger-Themen 7
Alex_99 Aktion ausführen wenn Frame disposed wurde Java Basics - Anfänger-Themen 5
frager2345 Fensterklasse, Wie auf Frame im Listender zugreifen (ItemEvents) Java Basics - Anfänger-Themen 7
S GUI Frame wechseln Java Basics - Anfänger-Themen 15
C Exportierte JAR öffnet zweiten Frame nicht mehr Java Basics - Anfänger-Themen 7
C Erkennen ob Frame geschlossen wurde Java Basics - Anfänger-Themen 2
C Erste Schritte Spieler an anderen Frame weitergeben Java Basics - Anfänger-Themen 23
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
S Interface (WindowBuilder) Panels in einen Frame einfügen Java Basics - Anfänger-Themen 10
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
S in ActionListener auf Eingabe aus anderem Frame warten Java Basics - Anfänger-Themen 2
D Interface Frame doppelt durch Aufruf der GUI Klasse Java Basics - Anfänger-Themen 1
M Erste Schritte Neuen Frame nur einmal offen haben Java Basics - Anfänger-Themen 6
schoenosrockos JButton füllt immer das ganze frame Java Basics - Anfänger-Themen 1
R Erste Schritte Frame mit Ladebalken und BestätigungsButton Java Basics - Anfänger-Themen 10
das_leon Interface Frame in einem Frame (Window Builder) Java Basics - Anfänger-Themen 2
Anfänger2011 Frame zeigt nicht gewünschtes Ergebnis an ... Java Basics - Anfänger-Themen 5
Z Object Kreis am Frame abprallen lassen! Java Basics - Anfänger-Themen 12
D Bild in Frame einfügen Java Basics - Anfänger-Themen 11
I Methoden Schwierikeiten mit Protokollfenster (Frame Objekt) Java Basics - Anfänger-Themen 4
A mehrere Panels in eigenen Klasssen in einem Frame Java Basics - Anfänger-Themen 16
J Extra Fenster (Frame) Java Basics - Anfänger-Themen 20
W Frame in anderer Klasse anzeigen lassen Java Basics - Anfänger-Themen 1
E Von Instanz des Dialogs auf das Frame zugreifen Java Basics - Anfänger-Themen 8
E 2. JFrame erkennt 1. Frame Java Basics - Anfänger-Themen 6
C Bild ins Frame laden und Objekte drüber legen Java Basics - Anfänger-Themen 1
R File chooser Dateien in frame anzeigen lassen Java Basics - Anfänger-Themen 5
L bestimmten Frame anzeigen lassen? Java Basics - Anfänger-Themen 6
H Textfeldinhalt löschen nachdem Frame geschlossen wird Java Basics - Anfänger-Themen 8
L Kalender Java Frame Java Basics - Anfänger-Themen 7
A Frame Java Basics - Anfänger-Themen 3
P Verwirrung mit AWT Frame und main Methode Java Basics - Anfänger-Themen 19
A Frame java Java Basics - Anfänger-Themen 3
D Frame schließt gleich alle Frames Java Basics - Anfänger-Themen 5
T udp -> bytearray -> image -> ausgabe via frame Java Basics - Anfänger-Themen 6
J Erste Schritte Speichern / Speichern unter / title Frame Java Basics - Anfänger-Themen 5
F Frame in Frame Java Basics - Anfänger-Themen 3
U GUI - resize frame Java Basics - Anfänger-Themen 13
J Open reading Frame Java Basics - Anfänger-Themen 4
J Erstelltes Frame wird nicht angezeigt Java Basics - Anfänger-Themen 2
K Frame öffnen klappt nicht?! Java Basics - Anfänger-Themen 36
B Referenz zu anderen Frame Java Basics - Anfänger-Themen 10
A Frame Background Java Basics - Anfänger-Themen 21
S Klassen Klassenname = Frame? Java Basics - Anfänger-Themen 11
R Eingefärbtes Panel wird in Frame nicht angezeigt Java Basics - Anfänger-Themen 10
I Java - Text in neuem Frame wird nicht angezeigt Java Basics - Anfänger-Themen 4
M Frame mit mehreren areas Java Basics - Anfänger-Themen 14
B Frame über Button öffnen Java Basics - Anfänger-Themen 8
R Button soll neuen Frame öffnen Java Basics - Anfänger-Themen 21
L Variablen Frame Variablen-Schleife Java Basics - Anfänger-Themen 3
D Neues Frame öffnen Java Basics - Anfänger-Themen 7
V Frame bleibt grau Java Basics - Anfänger-Themen 5
G Polygon in Frame zeichnen Java Basics - Anfänger-Themen 3
F frame wird nicht angezeigt? Java Basics - Anfänger-Themen 10
S 2 Panels in einen Frame Java Basics - Anfänger-Themen 5
H Panels in Frame einbinden Java Basics - Anfänger-Themen 3
E Frame neu Zeichnen Java Basics - Anfänger-Themen 3
A Bild wird auf Frame nicht angezeigt! Keine Fehlermeldung Java Basics - Anfänger-Themen 3
O Grafik in Frame laden Java Basics - Anfänger-Themen 9
T Frame öffnen Java Basics - Anfänger-Themen 6
I 1 Frame und mehrere Panels klappt nicht Java Basics - Anfänger-Themen 4
I JTable in bestehenden Frame integrieren Java Basics - Anfänger-Themen 6
Y Hilfe: JOGL / OPENGL in Frame Java Basics - Anfänger-Themen 2
A Frame reagiert nicht Java Basics - Anfänger-Themen 6
J Frame bleibt schwarz beim Laden Java Basics - Anfänger-Themen 11
ModellbahnerTT Unterschied zwischen zwei Frame close Varianten Java Basics - Anfänger-Themen 3
R Frame Inhalt ausrichten Java Basics - Anfänger-Themen 5
MisterSeven Java Swing - Wie Frame größe festlegen?! Java Basics - Anfänger-Themen 10
E Verständnisfrage Syntax: frame.getContentPane().add(button) Java Basics - Anfänger-Themen 11
Stillmatic1985 Label in einem Frame zentrieren Java Basics - Anfänger-Themen 4
A Grafik erstellen und in Frame einfügen Java Basics - Anfänger-Themen 17
H2SO3- image beim awt frame wegmachen Java Basics - Anfänger-Themen 2
kulturfenster Panel in Frame integrieren Java Basics - Anfänger-Themen 5
kulturfenster Per Button Frame schliessen Java Basics - Anfänger-Themen 2
C Frame, JFrame, JDialog Java Basics - Anfänger-Themen 12
M Variable in Frame anzeigen Java Basics - Anfänger-Themen 11
hdi Desktop-Auflösung abfragen -> setLocation() von Frame Java Basics - Anfänger-Themen 5
hdi keylistener hat keinen fokus oder: listener ohne frame? Java Basics - Anfänger-Themen 10
S Übergabe von Frame-Objekt - kritisch? Java Basics - Anfänger-Themen 7
N Frame in Frame erstellen Java Basics - Anfänger-Themen 2
B Java-Frame Taschenrechner - String -> Int und umgekehrt Java Basics - Anfänger-Themen 8
G Bild wird im falschen Frame angezeigt Java Basics - Anfänger-Themen 5
G Frame soll Focus behalten Java Basics - Anfänger-Themen 2
G Frame Applet oder doch was anderes Java Basics - Anfänger-Themen 2
M Frame zeigt Desktop als Hintergrund Java Basics - Anfänger-Themen 2
J Eine swf-datei in einen Frame einfügen? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben