Schließenfunktion überlagern

TheBodo

Erfahrenes Mitglied
Hi Leuts!

Ich hab per Suchfunktion gesucht und nichts gefunden und bei manueller Suche kam ich nich weiter!

Ich will ein Programm basteln, dass Playlisten bearbeiten kann! Das ist auch soweit kein Problem, abgesehen davon, dass die Änderungn verloren gehen, wenn man den JFrame schließt. Ich muss also irgendwie die Schließen Funktion überlagern!
Das mit dem Beendenknopf in der JMenuBar is ja kein Problem aber das X oben in der Leiste is ein Problem!

Es gibt ja eine DefaultCloseOperation, die muss ja irgendwie den Klick in einen Funktion umleiten, je nach int Variable, diese Funktion möchte ich gerne überlagern, kann mir da werhelfen?

Außerdem hab ich für die Ansicht der Playlist einen JInnerFrame gewählt! Der läst sich aber, trotz setResizable(true) nich verändern!

Was muss ich da beachten?

Vielen Dank für eure Antworten!
 
Moin!
Als DefaultClosing Methode solltest du "DO_NOTHING_ON_CLOSE" verwenden.
Dann fügst du deinem Frame einen WindowListener hinzu und reagierst auf das windowClosing Event. In die Methode, die das behandelt, kannst du dann die Speichermethode einbauen..

*grüssle*
MeinerEiner
 
hoi,

schau dir das mal an, vlt hilft es dir ja weiter:

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

import javax.swing.JFrame;


public class Test extends JFrame implements WindowListener {
	public static void main(String[] args) {
		new Test();
	}
	
	public Test() {
		setSize(200,200);
		setVisible(true);
		setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
		addWindowListener(this);
	}

	public void windowClosing(WindowEvent e) {		System.out.println("moep");}
	
	public void windowActivated(WindowEvent e) {}
	public void windowClosed(WindowEvent e) {}
	public void windowDeactivated(WindowEvent e) {}
	public void windowDeiconified(WindowEvent e) {}
	public void windowIconified(WindowEvent e) {}
	public void windowOpened(WindowEvent e) {}
}

Edit: MeinerEiner_80 war schneller
 
Zuletzt bearbeitet:
Zurück