我有一个程序,当程序在系统托盘中显示图标时。我使用下面的代码在系统托盘区显示图标:系统托盘图像未加载java
public static void showTrayIcon() {
if (java.awt.SystemTray.isSupported()) {
st = java.awt.SystemTray.getSystemTray();
image = Toolkit.getDefaultToolkit().getImage(PongeeUtil.class.getClass().getResource("export.png"));
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Hello");
}
};
PopupMenu popup = new PopupMenu();
MenuItem defaultItem = new MenuItem("sdf");
defaultItem.addActionListener(listener);
popup.add(defaultItem);
trayIcon = new TrayIcon(image, "Tray Demo", popup);
trayIcon.addActionListener(listener);
try {
st.add(trayIcon);
} catch (AWTException e) {
System.err.println(e);
}
}
}
当我打电话,我main()
这个方法我在系统托盘中得到的东西,但图标丢失。我认为图像无法加载。图像位于我的java文件所在的相同包中。
我在这里做错了什么?
哪里是'export.png'位于范围内来源?考虑使用'ImageIO.read'来加载图像,当它无法加载时会引发错误。请参阅[阅读/加载图像](http://docs.oracle.com/javase/tutorial/2d/images/loadimage.html)以获取更多详细信息 – MadProgrammer 2015-03-13 07:21:17
图像与我的java文件位于同一个包中。 – 2015-03-13 07:24:39