Hi Leute!
Folgende Sache: ich hab ein GUI das eigentlich im SystemTray liegt und nur Statusinformationen anzeigen soll. Jedenfalls soll aber mit Klick auf das X oder sonst irgendeinem Event, der versucht das Fenster zu schließen, nicht die Applikation beendet wird, sondern wieder zurück in das SystemTray geht. Soweit so gut. Ich hab also folgendes gemacht:
So, damit beim Klick auf das X auch wieder zurück in das SystemTray gelegt wird, habe ich eine Methode minimizeToTray() geschrieben, die soweit auch funktioniert. Anschließend noch einen WindowListener hinzu, der dafür sorgt, dass bei Klick auf "_" und "x" eben das GUI zurück ins Tray gelegt wird, was folgendermaßen aussieht:
Sobald ich auf das "_" klicke, wird das GUI einwandfrei in das SystemTray gelegt. Bei Klick auf "X" wird alles nur kurz das Icon angezeigt und dann ist das Programm beendet. Ich hab auch schon nachgeschaut, ob irgendwo irgendwie eine Exception geworfen wird, aber nirgends was zu erkennen.
Woran könnte das liegen?
Vielen Dank!
Martin
Folgende Sache: ich hab ein GUI das eigentlich im SystemTray liegt und nur Statusinformationen anzeigen soll. Jedenfalls soll aber mit Klick auf das X oder sonst irgendeinem Event, der versucht das Fenster zu schließen, nicht die Applikation beendet wird, sondern wieder zurück in das SystemTray geht. Soweit so gut. Ich hab also folgendes gemacht:
Code:
this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
So, damit beim Klick auf das X auch wieder zurück in das SystemTray gelegt wird, habe ich eine Methode minimizeToTray() geschrieben, die soweit auch funktioniert. Anschließend noch einen WindowListener hinzu, der dafür sorgt, dass bei Klick auf "_" und "x" eben das GUI zurück ins Tray gelegt wird, was folgendermaßen aussieht:
Code:
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
//minimizeToTray();
System.out.print("X event fired");
}
public void windowIconified(java.awt.event.WindowEvent e) {
minimizeToTray();
}
});
Sobald ich auf das "_" klicke, wird das GUI einwandfrei in das SystemTray gelegt. Bei Klick auf "X" wird alles nur kurz das Icon angezeigt und dann ist das Programm beendet. Ich hab auch schon nachgeschaut, ob irgendwo irgendwie eine Exception geworfen wird, aber nirgends was zu erkennen.
Woran könnte das liegen?
Vielen Dank!
Martin