Fenstertiteländerung mittels WindowAdapter

Status
Nicht offen für weitere Antworten.

mr_bemar

Mitglied
Tach auch,

möchte folgendes realisieren:

Wenn der User in einem JFrame auf "Minimize" klickt, möchte ich einige prägnante Informationen des Fensters, das er verkleinert hat, als Laufschrift (so ne Art Börsenticker) in der Titelzeile meines Fensters in der Windows-Taskbar laufen lassen.

Ich krieg nur den Bogen nicht hin, wie ich in der WindowsAdapter Klasse eine Instanz meines Frames bekomme.

Die WindowAdapter-Klasse ist momentan recht übersichtlich:


Code:
class WindowClose extends WindowAdapter{
		
	  public void windowClosing(WindowEvent e){
	  	System.out.println("Und tschüß ....");
	    System.exit(0);
	  }//end windowClosing()
	  
	  public void windowIconified(WindowEvent e){
	  	System.out.println("Klein ....");
	  }//end windowClosing()
	  
	  public void windowDeiconified(WindowEvent e){
	  	System.out.println("Wieder groß ....");
	  }//end windowClosing()
	}//end class WindowClose

Das funzt auch wunderbar. Die System Outs werden ausgegeben.
Jetzt dachte ich halt, mit e.getWindow() .... etc. weitarbeiten zu können,
aber irgendwie krieg ich das rufende Frameobjekt nicht bei.

Instanziert wird das ganze mit
Code:
frame.addWindowListener(new WindowClose());

Wie könnte ich das am besten lösen?

Danke und Gruß

Ben[/code]
 
ähhh...
du hast dir deine frage schon selbst beantwortet: e.getWindow() :S
 
Leider nicht.

Wenn ich
Code:
e.getWindow().setTitle("Dolle Show");
ausführe
bekomme ich den Fehler, das "setTitle()" für den Typ "Window" undefiniert
ist. :?
 
Weil java.awt.Window keine setTitle Methode hat. Ist doch ganz klar.

Aber wenn das Event von deinem JFrame kommt, dann kannst du doch casten.
 
Das ist ja mal krass. Das funzt ja wirklich.
Hab noch nie nen Cast an anderen Objekten als Zahlen gemacht.

Vielen Dank für den Hinweis
 
Du kannst alles in Typen, die in der Vererbungshierarchie weiter oben oder unten stehen, casten.

Eine andere Möglichkeit wäre btw auch, WindowClose im Konstruktor eine Instanz von JFrame (also this) zu übergeben und diese in einer Instanzvariable zu halten.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben