那么问题是什么?
我正在运行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());
}
}
}
}
当我像这样运行项目时,上面的代码非常有效:
但是,当我将项目导出为Runnable Jar,Mac OSX Bundle或简称Jar并尝试通过Terminal运行时,系统托盘菜单在运行时不会显示。为什么呢?