teufel
Occasional Observer

Custom TrayIcon im JavaClientPermanentPlugin

Jump to solution

Hallo zusammen,

Ich möchte ein Modul schreiben, dass auch ein Tray Icon mithilfe der Java-Klasse TrayIcon in meine Taskleiste erzeugen kann. Wenn ich den SiteArchitect starte, wird das TrayIcon in der Taskleiste angezeigt. Wenn ich das Displaymenü des Tray Icons öffne, bekomme ich allein schon durch das Fahren des Mauszeigers über das Tray Icon immer die gleiche Fehlermeldung.

Habt ihr das gleiche Problem auch schon mal gehabt? Muss man dem TooltipWindowManager etwas mitgeben? Oder habt ihr irgendeine Idee?

Fehlermeldung

ERROR 07.03.2017 16:52:19.946 (de.espirit.firstspirit.client.AbstractGuiHost): ExceptionHandler.uncaughtException() - java.lang.NullPointerException

FSVersion=5.2.615.75639#5368;JDK=1.8.0_112 64bit Oracle Corporation;OS=Windows 10 10.0 amd64;Date=07.03.2017 16:52:19

java.lang.NullPointerException

  at de.espirit.firstspirit.common.gui.TooltipWindowManager$AwtEventFilterListener.redispatch(TooltipWindowManager.java:499)

  at de.espirit.firstspirit.client.AWTDispatchingEventQueue.notifyFilterListener(AWTDispatchingEventQueue.java:204)

  at de.espirit.firstspirit.client.AWTDispatchingEventQueue._dispatchEvent(AWTDispatchingEventQueue.java:147)

  at de.espirit.firstspirit.client.AWTDispatchingEventQueue.dispatchEvent(AWTDispatchingEventQueue.java:131)

  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

  at java.awt.EventDispatchThread.run(Unknown Source)

Außerdem ist hier noch meine Implementierung des Tray Icons:

Code-Ausschnitt

public class MyPermanentPlugin implements JavaClientPermanentPlugin {

public void setUp(BaseContext baseContext) {

//Check the SystemTray is supported
if (!SystemTray.isSupported()) {

  Logging.logError("SystemTray is not supported", LOGGER);

   return;

}

TrayIcon trayIcon = new TrayIcon(IMAGE_WORKING);

final SystemTray tray = SystemTray.getSystemTray();

trayIcon.setImageAutoSize(true);

PopupMenu popup = new PopupMenu();

// Create a pop-up menu components
Menu displayMenu = new Menu("Menu");

CheckboxMenuItem menuItem = new CheckboxMenuItem("Menu item");

CheckboxMenuItem menuItem2 = new CheckboxMenuItem("Menu item 2");

CheckboxMenuItem menuItem3 = new CheckboxMenuItem("Menu item 3");

CheckboxMenuItem menuItem4 = new CheckboxMenuItem("Menu item 4");

//Add components to pop-up menu
displayMenu.add(menuItem);

displayMenu.add(menuItem2);

displayMenu.add(menuItem3);

displayMenu.add(menuItem4);

popup.add(displayMenu);

try {

  tray.add(this.trayIcon);

} catch (AWTException e) {

  Logging.logError("TrayIcon could not be added.", LOGGER);

}

}

public void tearDown() {

}

}

Viele Grüße,

Philip Teufel

0 Kudos
1 Solution

Accepted Solutions
andre
I'm new here

Hi,

die NPE darf hier auf keinen Fall auftreten. Ist also ein Problem auf FirstSpirit-Seite.  Würdest du bitte einen BugReport bei unserem Tech-Support einstellen. Einfach auf die interne ID TS#198453
beziehen

danke

--andre

View solution in original post

0 Kudos
1 Reply
andre
I'm new here

Hi,

die NPE darf hier auf keinen Fall auftreten. Ist also ein Problem auf FirstSpirit-Seite.  Würdest du bitte einen BugReport bei unserem Tech-Support einstellen. Einfach auf die interne ID TS#198453
beziehen

danke

--andre

0 Kudos