Java系统磁盘菜单仅显示从eclipse运行时。 Mac OSX

时间:2014-06-29 08:37:22

标签: java eclipse macos

那么问题是什么?

我正在运行Mac OSX 10.8.5,并且正在尝试部署Java应用程序。在整个测试中,我将从右键单击并选择以java应用程序运行,但是现在当我将其导出为可运行的jar时,系统托盘菜单不会显示。

我可以做些什么故障排除?

以下是用于在系统托盘中显示菜单的代码:

public class TrayMenu {
    private static Image iconImage;
    private static SystemTray sysTray;
    private static PopupMenu menu;
    private static MenuItem item0;
    private static TrayIcon trayIcon;

    public static void loadTrayIcon() {
        JFrame frame = new JFrame("Tray Frame");

        frame.setLayout(new GridLayout(1, 3)); 

        if (SystemTray.isSupported()) {
            sysTray = SystemTray.getSystemTray();

            iconImage  = Toolkit.getDefaultToolkit().getImage("osx_tray_icon.png");

            menu = new PopupMenu();

            item0 = new MenuItem("TestApp v0.1");

            menu.add(item0);

            trayIcon = new TrayIcon(iconImage, "TestApp", menu);

            try {
                sysTray.add(trayIcon);
            } catch(AWTException e) {
                System.out.println(e.getMessage());
            }
        }
    }
}

当我像这样运行项目时,上面的代码非常有效:

enter image description here

但是,当我将项目导出为Runnable Jar,Mac OSX Bundle或简称Jar并尝试通过Terminal运行时,系统托盘菜单在运行时不会显示。为什么呢?

0 个答案:

没有答案