Daniel Thoma: Systemtray + JTree

Beitrag lesen

Hallo Theodor,

Hast Du Dir schonmal die Dokumentation zu java.awt.SystemTray und java.awt.TrayIcon angesehen?

Es ist möglich, dem TrayIcon beliebige MouseListener hinzuzufügen.
Dann kannst Du dort statt eines normalen PopupMenu ein beliebiges Fenster aufmachen. (Fenster ohne Rand etc. bekommt man mit java.awt.Window bzw. der entsprechenden Swing-Klasse JWindow. Damit kannst Du dann auch dein JTree unterbringen. Du musst Dich halt um die Platzierung des Fensters selbst kümmern, aber das sollte nicht so schwierig sein.

Kennst Du zufaellig von M$-Outlook die schoene Anzeige, wenn eine
neue Mail eingetreten ist? Es erscheint so eine Art Popup direkt
ueber dem Systemtray.

Ja, solche Infoboxen gibt es auch bei anderen Systemen. TrayIcon hat dafür eine Methode displayMessage. Dort kannst Du aber keine eigenen Komponenten verwenden sondern nur einen Titel, Text und Typ angeben. Das dürfte daran liegen, dass diese Boxen nicht von Java sondern vom jeweiligen Desktopsystem bereitgestellt werden.

Allgemein solltest Du Dir bewusst sein, dass das nicht immer funktionieren muss. Unterstützt werden wohl Windows, KDE und Gnome evtl. passiert bei Mac OSX auch irgend etwas, ich weiß gar nicht, ob es da schon Java 1.6 gibt.

Grüße

Daniel