【发布时间】:2018-07-11 13:17:31
【问题描述】:
我正在尝试向系统托盘添加一个图标,但是,当我运行应用程序时,该图标是空白的。
我的项目结构是这样的:
root/
libs/
...
src/
com/
projname/
logic/
...
ui/
MyClass.java
...
res/
icon.png
我正在尝试在 MyClass.java 中添加图标,如下所示:
private void addToSystemTray() throws AWTException {
if (!SystemTray.isSupported()) {
return;
}
// get the SystemTray instance
SystemTray tray = SystemTray.getSystemTray();
// load an image
Image image = Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("icon.png"));
// construct tray icon
TrayIcon trayIcon = new TrayIcon(image, "My Project");
// add the tray image
tray.add(trayIcon);
}
我在 IntelliJ 上将 res/ 文件夹标记为 Resources Root,并且我还构建了 .jar 来检查是否已将图标添加到其中 - 确实如此。
我做错了什么?
【问题讨论】:
-
Image image = new ImageIcon(MyClass.class.getResource("/icon.png")).getImage(); -
@JoopEggen 那没有解决 - 同样的问题。
-
是的,您确实使用了 javadoc 示例。
trayIcon.setImageAutoSize(true);也许。 -
@JoopEggen 谢谢,解决了!