对于那些需要帮助的人,在谷歌所遇到的这个页面泛型类 - 我写在另一个StackOverflow question的答案给予处理图像的最佳方式在Java应用程序等等您可以轻松访问Java中所有图像方法类型的图像:
这是处理JAR应用程序中所有图像和图标的最佳方法。
一旦将所有图像和图标压缩到它自己的JAR文件中 - 通过将图像JAR文件添加到库选项卡中,使其现在包含在您的类路径中来配置您的构建路径。
然后,只需使用下面的3X行代码你constuctor开始访问你需要的任何东西,包括一个SystemTray的图像不接受简单的ImageIcon的作为其主要的图标(奇怪,我知道)的任何图像。 3倍线:
URL iconUrl = this.getClass().getResource("/image-iconb.png");
Toolkit tk = this.getToolkit();
someimgicon = tk.getImage(iconUrl);
(someimgicon仅仅是一个构造函数中声明图像变量) 现在你可以设置窗口图标简单,如:在同一时间
setIconImage(someimgicon);
和通过声明设置系统TrayIcon时使用相同的变量:
trayIcon = new TrayIcon(someimgicon, "SystemTray Demo", popupMenu);
上述内容允许您轻松地集中声明图像或ImageIcons,而不会出现将图像资源保留在正确位置的风险。它保持了它的漂亮和整洁,包含所有图像的JAR在运行时自动编译并分发程序。
作为奖励,一旦JAR位于CLASSPATH注册 - 你可以保持随时添加任何其他图像到同一JAR没有任何大惊小怪太 - 一切都只是工作和增加的图像立即提供给您的应用程序。
在我看来更好。
当它不在可运行Jar中时它工作吗? – Halfwarr 2011-12-16 19:58:20
没有它不,我发现为什么,我希望我可以在我的话题 – desmatron 2011-12-16 20:32:25