有没有办法在Ubuntu上用Java创建系统托盘图标?

有没有办法在Ubuntu上用Java创建系统托盘图标?,java,Java,我正试图在Ubuntu上创建一个系统托盘图标,我使用的代码与我在Windows上使用的代码相同,在那里工作没有问题,但在Ubuntu上,我无法让它工作 我试着重新编写代码来找到一个可行的方法,但没有成功 这是我的密码: private static TrayIcon trayIcon; public ProgramTray() { showTrayIcon(); } private static void showTrayIcon() { trayIcon = new Tra

我正试图在Ubuntu上创建一个系统托盘图标,我使用的代码与我在Windows上使用的代码相同,在那里工作没有问题,但在Ubuntu上,我无法让它工作

我试着重新编写代码来找到一个可行的方法,但没有成功

这是我的密码:

private static TrayIcon trayIcon;

public ProgramTray()
{
    showTrayIcon();
}

private static void showTrayIcon()
{
    trayIcon = new TrayIcon(createIcon("/app/Icon.png", "Tray Icon"));
    SystemTray tray = SystemTray.getSystemTray();

    try 
    {
        tray.add(trayIcon);
    } 

    catch (AWTException ex) 
    {
        Logger.getLogger(ProgramTray.class.getName()).log(Level.SEVERE, null, ex);
    }
}

protected static Image createIcon(String path, String desc)
{
    URL imageURL = ProgramTray.class.getResource(path);
    return (new ImageIcon(imageURL, desc)).getImage();
}

当执行此操作时,它总是抛出一个UnsupportedOperationException。关于如何让它工作,我愿意接受任何解决方案。

您是否有可以提供的堆栈跟踪,以便我们可以看到这个错误的来源?java.lang.UnsupportedOperationException位于java.awt.TrayIcon.(TrayIcon.java:144)位于java.awt.TrayIcon.(TrayIcon.java:168)位于app.ProgramTray.showTrayIcon(ProgramTray.java:23)在app.ProgramTray.(ProgramTray.java:18)在app.GUI.(GUI.java:16)在app.GUI.lambda$main$0(GUI.java:59)可能的副本您是否可以提供堆栈跟踪,以便我们可以看到此错误的来源?java.lang.UnsupportedOperationException在java.awt.TrayIcon.(TrayIcon.java:144)在java.awt.TrayIcon.(TrayIcon.java:168)在app.ProgramTray.showTrayIcon(ProgramTray.java:23)在app.ProgramTray.(ProgramTray.java:18)在app.GUI.(GUI.java:16)在app.GUI.lambda$main$0(GUI.java:59)可能重复