This is really annoying to me and I really don't like the idea of providing an application that looks half-assed. So, I actually got around this problem creating a small native library that implements the tray icon using gtk.
So, if you end up having tray icon problems, you may use my little artifact. The source code is here. I also deployed in the central, you can use it putting the following dependency:
The usage is very simple:
SystemTrayAdapter trayAdapter = SystemTrayProvider.getSystemTray(); URL imageUrl = getClass().getResource("myImage.svg"); String tooltip = "I'm transparent under linux!"; PopupMenu popup = produceMyPopupMenu(); TrayIconAdapter trayIconAdapter = trayAdapter.createAndAddTrayIcon( imageUrl, tooltip, popup);