JFrame abfragen ob es geschlossen wird?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Viel Spaß damit:

import javax.swing.JFrame;
import javax.swing.WindowConstants;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

public class FunWithFrames implements WindowListener {
    public static void main(String[] args) {
        new FunWithFrames();
    }

    public FunWithFrames() {
        JFrame frame = new JFrame();
        frame.addWindowListener(this);
        frame.setSize(800, 600);
        frame.setTitle("fun with frames");
        frame.setVisible(true
        );
        frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
    }

    @Override
    public void windowOpened(WindowEvent e) {

    }

    @Override
    public void windowClosing(WindowEvent e) {
        System.out.println("yep, someone clicked on close");
    }

    @Override
    public void windowClosed(WindowEvent e) {

    }

    @Override
    public void windowIconified(WindowEvent e) {

    }

    @Override
    public void windowDeiconified(WindowEvent e) {

    }

    @Override
    public void windowActivated(WindowEvent e) {

    }

    @Override
    public void windowDeactivated(WindowEvent e) {

    }
}

Denke Du kannst die nötigen Infos da raus ziehen um deine Ziele umzusetzen.

Wichtig ist der WindowListener. Der Code ist natürlich nicht schön sondern zeigt einfach, das Wie.

Gruß

Woher ich das weiß:Berufserfahrung

KartoffelYT 
Beitragsersteller
 12.11.2018, 17:54

Dankeschön, dass traurige ist der Code ist immer noch schöner als meiner :)

0
AldoradoXYZ  12.11.2018, 17:56
@KartoffelYT

Ohje.

Du kannst ja das Interface (WindowListener) von einer Art Steuerungsklasse implementieren lassen. Dann ist die Funktionalität schön gekapselt.

Statt frame.addWindowListener(this) hast Du dann frame.addWindowListener(windowControl)

Wobei windowControl dann deine Steuerungsklasse ist, welche den WindowListener implementiert.

Gruß

1

Obwohl Alt F4 sollte ja nicht dass Problem sein dass könnte ich ja durch einen Key Listener abfragen , da ich eh ne Tastenkombination machen will um die JFrames zu löschen!


AldoradoXYZ  12.11.2018, 17:42

-----

0
KartoffelYT 
Beitragsersteller
 12.11.2018, 17:48
@AldoradoXYZ

Aber ich hab immer noch keine Ahnung, wie ich etwas ausführen kann, wenn ich dass Rote Kreuz oben links Drücke

0