WindowAdapter

Hallo zusammen,

ich habe in einer Applikation statt des WindowListeners den WindowAdapter benutzt, da ich nur eine WindowListener-Methode (windowClosing) brauche.
In dieser soll die Methode speichern() aufgerufen werden, damit der Text aus der Anwendung in eine bestimmte Datei abgespeichert wird. Genau das funktioniert aber nicht. Wobei es schon so ist, daß die Methode speichern() durch den WindowAdapter aufgerufen wird. Aber der Text wird dann eben nicht abgespeichert.
Was mich wundert: ich hatte in dieser Applikation zuvor den WindowListener eingebaut, dasselbe also dort mit der windowClosing()-Methode gemacht und es klappte! So, what’s wrong?

Mein WindowAdapter, der in einer inneren Klasse der Klasse AnwendungsFenster steht:

class FensterLauscher extends WindowAdapter
{
private InhaltNEU inhaltNEU;

public FensterLauscher()
{
inhaltNEU = new InhaltNEU();
}

public void windowClosing(WindowEvent e)
{
int antwort = JOptionPane.showConfirmDialog(null, „Einkaufsliste schliessen?“,
„Einkaufsliste beenden“, JOptionPane.YES_NO_OPTION);
if(antwort == JOptionPane.YES_OPTION)
{
inhaltNEU.speichern();
System.exit(0);
}
}// end-windowClosing
}// end-class FensterLauscher

Die Methode speichern(), welche in einer Klasse AnwendungsInhalt(hier genau: InhaltNEU) steht:

public void speichern()
{
try
{
fw = new FileWriter(„D:\JavaDateien\ekListe.txt“);
bw = new BufferedWriter(fw);
int i=0;
for(i = 0; i

Hallo zusammen,

class FensterLauscher extends WindowAdapter
{
private InhaltNEU inhaltNEU;

public FensterLauscher()
{
inhaltNEU = new InhaltNEU();
}

Ist das inhaltNEU, das du in FensterLauscher deklarierst und
initialisierst, das gleiche wie das, was man auf der Oberflaeche
sieht und vermutlich in der Klasse deklariert ist, die JFrame
erweitert?
Ich denke es handelt sich schlichtweg um 2 unterschiedliche Objekte.
Das in FensterLauscher enthaelt keine Werte, da auch keine zugewiesen
werden. (Debugger!)

Gruss, Patrick