Java System Tray图标

时间:2011-02-18 02:07:06

标签: java icons tray

a really simple tutorial on implementing a system tray icon

问题是,如果我从eclipse运行我的应用程序,我可以看到托盘中的图标,但是如果我导出并运行一个可运行的jar文件,我就看不到它了。我的应用程序中有其他图像可以在同一个文件夹中正常工作。

托盘正在工作(左右键单击它),但没有显示图像,就像您在图像中看到的那样(顶部的jar文件,底部是eclipse):

Example of the Missing image

为什么呢?谢谢你,对不起我的英文!

编辑:我终于找到了需要访问图片的解决方案:

Image img = Toolkit.getDefaultToolkit().getImage(MyClass.class.getResource("/images/asd.png"));

1 个答案:

答案 0 :(得分:1)

问题在于您包含图像文件的方式。您在创建时必须将图像包含在JAR 中,并且您必须以不同的方式访问图像:

try {
    InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("wing16.png");
    BufferedImage img = ImageIO.read(is);
}
catch (IOException e) {}

您可以使用img变量在JAR中设置图像。

<强>更新

获取所有课程文件&amp;图像并转到命令行:

jar -cvfm Test.jar Manifest.mft *.class image.png

Manifest.mft替换为您的清单文件名。将image.png替换为您要显示的图像(如果需要,可以包含更多图像)