WindowListener in statischem Kontext.aber wie?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi,
ich wollte das schließen bzw verstecken eines Fensters über WindowListener machen,jedoch habe ich das Problem das ich nicht weiß wie ich den Listener integrieren kann

mit Frame.addWindowListener(this)

meckert der kompiler das die in einem statischen Kontext nicht möglich ist
wie kann ich den Listener in einem statischen Kontext erstellen?

MFG
 

Ebenius

Top Contributor
Die Frage ist falsch. Richtig ist die Frage: Wo bekommst Du die Instanz des Frames her? Frame ist eine Klasse. Was Du brauchst ist ein Objekt welches vom Typ der Klasse ist.

Java lernen geht zum Beispiel bei Sun
 
G

Guest

Gast
Das Frame erzeuge ich in der MAIN

Code:
static JFrame frame = new JFrame("Playlist");

public static void main(String[] args) {

	frame.setBounds(10, 170, 500, 500);
        frame.setVisible(true);
        frame.setResizable(false);
        frame.setLayout(null);
        frame.addWindowListener(...);

...

    public void windowClosing(WindowEvent e) {
        frame.setVisible(false);
        
    }


}


also muss ich extra ne klasse schreiben um das Fenster mit Windowlistener zu erzeugen?

mfg
 
S

SlaterB

Gast
für das JFrame brauchst du (noch) keine eigene Klasse,
aber für den Listener muss es eine Klasse sein, wenn nicht anonym, dann eine andere

frame.addWindowListener(listener);
 
G

Guest

Gast
so ich hab jetzt eine klasse erstellt

Code:
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;


public class listener implements WindowListener{
	
	//addWindowListener(this);
	public void windowActivated(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	
	public void windowClosed(WindowEvent arg0) {
		// TODO Auto-generated method stub
		System.out.println("closed");
		
	}

	
	public void windowClosing(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	
	public void windowDeactivated(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	
	public void windowDeiconified(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	
	public void windowIconified(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	
	public void windowOpened(WindowEvent arg0) {
		// TODO Auto-generated method stub
		
	}

}

in meiner MAIN lege ich eine instanz der klasse an und füge diese dann dem fenster hinzu
Code:
static listener test=new listener();
....
		frame.setBounds(10, 170, 500, 500);
        
		frame.addWindowListener(test);
		frame.setVisible(true);
        frame.setResizable(false);
        frame.setLayout(null);

das fenster verschwindet zwar wenn ich auf das x klicke,jedoch bekomme ich in der konsole keine nachricht :( außerdem verschwindet das fenster auch wenn ich die zeile mit dem windowlistener entferne...was mache ich falsch?

mfg
 

Schandro

Top Contributor
1. Wenn man auf das X klickt, wird windowClosing aufgerufen, nicht windowClosed. Immer erst die API lesen bevor man was von Sun benutzt^^
2. Die standard closeOperation von JFrame ist HIDE_ON_CLOSE, wenn du unbedingt willst kannst du das mit der Methode
setDefaultCloseOperation
umstellen, siehe API
 
G

Guest

Gast
1. habs geändert und nun gehts ^^
2. aso Hide on Close is standard...dachte immer wenn man das nicht extra setzt passiert garnix :)
gut zu wissen

danke für die hilfe
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Maven Swing: Wie verwende ich WindowListener ? Java Basics - Anfänger-Themen 2
S setBackground via WindowListener Java Basics - Anfänger-Themen 1
P windowListener Linux Java Basics - Anfänger-Themen 8
M actionlistener, windowlistener Java Basics - Anfänger-Themen 2
G WindowListener Java Basics - Anfänger-Themen 6
G Liste aller WindowListener Java Basics - Anfänger-Themen 3
M windowListener - brauche Hilfe. Java Basics - Anfänger-Themen 2
A WindowListener will nicht hören. Java Basics - Anfänger-Themen 3
C WindowListener Java Basics - Anfänger-Themen 16
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
K Array mit statischem Level Java Basics - Anfänger-Themen 8
G Statischem Konstruktor Parameter übergeben Java Basics - Anfänger-Themen 6
T in statischem Kontext auf nicht statische Variable beziehen Java Basics - Anfänger-Themen 5
J Verständnisfrage: Konstruktorproblem bei statischem Objekt Java Basics - Anfänger-Themen 4
D Problem mit statischem Initialisierer Java Basics - Anfänger-Themen 10
W ein JLabel oder JTextfield in einem Canvas-Kontext einbringen : geht das ? Java Basics - Anfänger-Themen 4
T getClass() im static Kontext Java Basics - Anfänger-Themen 12
A non-static Methode ausführen in statischen Kontext Java Basics - Anfänger-Themen 17
H warum ist dieses Kontext static? Java Basics - Anfänger-Themen 5
S Kontext oder wie nennt man das ? Java Basics - Anfänger-Themen 3
F Verwendung von this in statischen Kontext nicht möglich Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben