festlegen, was beim schließen des fensters passiert

FBergmann

Mitglied
Kann ich festlegen, was passieren soll wenn das Fenster meiner Grafischenausgabe geschloßen wird? also wenn Jemand während das Program läuft auf das X am oberen Fensterrand klickt.
vielen Dank schonmal!
 

FBergmann

Mitglied
soweit ich das verstanden habe brauche ich:
Java:
setDefaultCloseOperation(EXIT_ON_CLOSE);
wo muss ich das einfügen?
und was müss ich dafür importieren?
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
? Was genau hast du denn vor? Willst du drauf reagieren wenn jmd auf das "X" klickt? Oder willst du dann einfach nur dass das Programm schließt?

Für Ersteres siehe Post oben, bei Zweitem wäre dein setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); nicht schlecht. Musst du halt auf deinem JFrame aufrufen?!
 

FBergmann

Mitglied
ich will darauf reagieren, wenn jemand auf das "X" klickt. Hab mir auch schon den Link angesehen verstehe jedoch ehrlich gesagt nicht genau was ich machen muss um das zu erreichen.
 

eRaaaa

Top Contributor
...da gibts doch immer schöne Demos zu...naja, ich hab dir mal schnell was zusammen geschrieben:

Java:
    public static void main(String[] args) {
	final JFrame frame = new JFrame();
	JPanel panel = new JPanel();
	//WindowListener
	frame.addWindowListener(new WindowAdapter() {
	    public void windowClosing(WindowEvent e) {
		closeAction(frame);
	    }
	});
	JButton button = new JButton("close");
	button.addActionListener(new ActionListener() {
	    public void actionPerformed(ActionEvent e) {
		closeAction(frame);
	    }
	});
	panel.add(new JLabel("WindowListener Demo"));
	panel.add(button);
	frame.add(panel);
	frame.pack();
	frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
	frame.setLocationRelativeTo(null);
	frame.setVisible(true);
    }

    private static void closeAction(Window parent) {
	int choice = JOptionPane.showConfirmDialog(parent,
		"Programm wirklich beenden?", "Programm schließen",
		JOptionPane.YES_NO_OPTION);
	if (choice == JOptionPane.YES_OPTION) {
	    parent.dispose();
	}
    }

Interessant sind eig. nur folgende Zeilen:
Java:
	frame.addWindowListener(new WindowAdapter() {
	    public void windowClosing(WindowEvent e) {
		//hier reagieren
	    }
	});

und
Java:
	frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

Ansonsten: :rtfm:
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 16.5 Es tut sich was – Ereignisse beim AWT
 

FBergmann

Mitglied
Würde es nicht reichen, wenn ich nur:
Java:
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
benutze?
Sorry, ist wahrscheinlich ne dumme Frage aber bin noch nen ziemlicher Anfänger :D
 

FBergmann

Mitglied
Das Problem war, dass ich eine Schleife hatte, die die ganze Zeit im Hintergrund lief. Wenn man jetzt das Program übers "X" geschlossen hat, lief die schleife aber noch weiter.
Jetzt habe ich den ersten quelltext von dir eingefügt:
Java:
        fenster = new JFrame("Überschrift");
        fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
und wenn ich nun das fenster durch "X" beende stopt auch die schleife.
Brauche ich immernoch einen listener oder kann ich es auch dabei belassen?
 

mvitz

Top Contributor
Wenn du nur möchtest, dass sich das Fenster schließt und dein gesamtes Programm aufhört, dann reicht das so aus.

Möchtest du hingegen nach dem Klick auf das X noch etwas machen, dann sind wie bereits angesprochen die Lösung.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Array Länge in Klasse festlegen Java Basics - Anfänger-Themen 1
M Wie kann ich festlegen, dass ein Attribut maximal den Wert 0 erreicht, also nicht in den negativen Bereich fällt? Java Basics - Anfänger-Themen 4
CptK Vererbung Attributtyp in Super-Klasse noch nicht festlegen Java Basics - Anfänger-Themen 1
T Start-Activity für Java Maven Web-Anwendung festlegen Java Basics - Anfänger-Themen 2
B substring() maximale Zeichenlänge festlegen? Java Basics - Anfänger-Themen 1
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
I GUI Button Postition festlegen Java Basics - Anfänger-Themen 4
snipesss [Java] Schriftart und Schriftgröße von JLabel in einer Zeile festlegen? Java Basics - Anfänger-Themen 3
L Array im Vorraus festlegen Java Basics - Anfänger-Themen 1
M hintergrund in jframe festlegen Java Basics - Anfänger-Themen 4
S Den Benutzer eine Rangfolge festlegen lassen Java Basics - Anfänger-Themen 5
R Variablen Datentyp erst während Laufzeit festlegen Java Basics - Anfänger-Themen 6
O Timeout für eine Methode festlegen Java Basics - Anfänger-Themen 3
A Icon für Programm festlegen Java Basics - Anfänger-Themen 2
D Ausgabefenster größe festlegen Java Basics - Anfänger-Themen 3
M Größe eines Buttons festlegen Java Basics - Anfänger-Themen 4
L Standardendung festlegen Java Basics - Anfänger-Themen 2
J Button in extra Klasse festlegen und in anderer Klasse einfügen? Java Basics - Anfänger-Themen 3
G Variablen in Abhängigkeit vom Betriebssystem festlegen Java Basics - Anfänger-Themen 6
G Kombination zweier Befehle (Preis festlegen & Rabatt berechnen) Java Basics - Anfänger-Themen 3
A Größe von Bild festlegen Java Basics - Anfänger-Themen 3
M JComboBox Obergrenzen/Untergrenze festlegen? Java Basics - Anfänger-Themen 5
M GUI JOptionPane - Parameter im Konstruktor festlegen? Java Basics - Anfänger-Themen 5
E Java Name von Exe festlegen? Java Basics - Anfänger-Themen 7
T array festlegen und ändern Java Basics - Anfänger-Themen 11
J Variablen Variablen fürs ganze Projekt festlegen Java Basics - Anfänger-Themen 16
D Grösse eines JPanel hinsichtlich LayoutManager festlegen Java Basics - Anfänger-Themen 4
F GMT für Date Objekte festlegen Java Basics - Anfänger-Themen 5
L Typ für Instanzvariable später festlegen Java Basics - Anfänger-Themen 17
S Links ausführen und Ausführzeiten festlegen Java Basics - Anfänger-Themen 4
F FileSystem in Baum darstellen/wurzel festlegen Java Basics - Anfänger-Themen 3
B Arbeitsspeichergrenzen in JAR-Datei festlegen Java Basics - Anfänger-Themen 2
T Standardordner für JFileChooser festlegen Java Basics - Anfänger-Themen 2
MisterSeven Java Swing - Wie Frame größe festlegen?! Java Basics - Anfänger-Themen 10
A Datentyp mit String festlegen? Java Basics - Anfänger-Themen 13
Z TextArea Größe festlegen Java Basics - Anfänger-Themen 22
S Festlegen, dass Subklasse nicht erlaubt ist? Java Basics - Anfänger-Themen 3
S Abstrakte Klasse, festlegen, dass Methode verändert werden muss. Java Basics - Anfänger-Themen 4
G Maven Dependency für Oracle JDBC-Driver korrekt festlegen Java Basics - Anfänger-Themen 4
S Auf JButtonBar komponenten ausrichten, größe festlegen? Java Basics - Anfänger-Themen 5
G Version von Anwendung mit Eclipse oder anders festlegen Java Basics - Anfänger-Themen 8
H Die Schriftfarbe des JRadioButton festlegen Java Basics - Anfänger-Themen 2
J Button Grösse festlegen Java Basics - Anfänger-Themen 3
G Größe von Box festlegen Java Basics - Anfänger-Themen 7
G Spaltenbreite festlegen Java Basics - Anfänger-Themen 2
G Tabellebreite festlegen Java Basics - Anfänger-Themen 1
D Stringlänge festlegen, ggf. auffüllen Java Basics - Anfänger-Themen 2
H Variablenname dynamisch festlegen Java Basics - Anfänger-Themen 3
H Variablenname dynamisch festlegen Java Basics - Anfänger-Themen 3
E Dimensionenzahl von Arrays abfragen oder festlegen? Java Basics - Anfänger-Themen 4
U wert eines nicht übergebenen parameters festlegen Java Basics - Anfänger-Themen 5
P Session-ID Ablaufzeit festlegen Java Basics - Anfänger-Themen 3
V Eingabe von Zahlen festlegen Java Basics - Anfänger-Themen 2
G minimale Größe von JFrame festlegen Java Basics - Anfänger-Themen 7
Juelin jedit Fehler beim starten Java Basics - Anfänger-Themen 2
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
T DamagedFontException beim drucken Java Basics - Anfänger-Themen 3
Z SNAKE Schlange beim Aufheben von Essen verlängern Java Basics - Anfänger-Themen 4
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
Fiedelbambu Prüfen von Komma stelle beim Taschenrechner Java Basics - Anfänger-Themen 5
B Objekte verschwinden beim Übersetzen Java Basics - Anfänger-Themen 5
L Beim Java Programmstart, mehrere Parameter über die Kommandozeile übergeben Java Basics - Anfänger-Themen 9
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
S Fehler beim Programm Java Basics - Anfänger-Themen 2
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
M String beim einlesen formatieren Java Basics - Anfänger-Themen 12
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
I InputStream beim zweiten Mal fehlerhaft Java Basics - Anfänger-Themen 10
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
cmn489 Werte beim Funktionsaufruf in ein Feld übertragen(falls dieses leer ist) Java Basics - Anfänger-Themen 1
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
CptK Richtigen Pfad beim einlesen von Datei finden Java Basics - Anfänger-Themen 2
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
J Hilfe beim Label animieren Java Basics - Anfänger-Themen 1
Avalon Programmierstil beim Mocken Java Basics - Anfänger-Themen 45
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
J Hilfe beim verstehen Java Basics - Anfänger-Themen 3
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
M Compiler-Fehler Fehler beim Ausführen des Codes Java Basics - Anfänger-Themen 25
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben