3 回答
TA贡献1795条经验 获得超7个赞
第一步:将图像放在JAR文件中的定义位置。如果将其放入src文件夹,则可能是您的IDE或构建工具会将其自动打包到JAR中。否则,请检查您的IDE /构建工具的文档,必须将其放置在何处。
第二步:从程序中访问文件。我假设您将其放在包(JAR中的路径)package1 / package2中,并且该文件称为dump.jpg。在这种情况下,您可以致电:
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/package1/package2/dump.jpg")));
getClass()。getResource(...)返回类路径上资源的URL。您可以在类路径中以“ /”开始路径,并使用资源的完整路径/包,并以“ /”分隔。
TA贡献2065条经验 获得超13个赞
这是处理JAR App中所有图像和图标的最佳方法。
将所有图像和图标压缩到其自己的JAR文件中之后-通过将图像JAR文件添加到“库”选项卡中来配置构建路径,以使其现在包含在类路径中。
然后,只需在构造函数的开头使用以下3x代码行即可访问所需的任何图像,包括不接受简单ImageIcon作为其主要图标的SystemTray图像(我知道这很奇怪)。3x行是:
URL iconUrl = this.getClass().getResource("/image-iconb.png");
Toolkit tk = this.getToolkit();
someimgicon = tk.getImage(iconUrl);
(someimgicon只是一个声明了Image变量的构造函数) 现在,您可以将窗口图标设置为:
setIconImage(someimgicon);
并通过声明以下内容在设置系统TrayIcon时使用相同的变量:
trayIcon = new TrayIcon(someimgicon, "SystemTray Demo", popupMenu);
上面的代码使您可以轻松,集中地声明Image或ImageIcons,而不会冒未将图像资源放置在正确位置的风险。JAR包含您在运行时自动编译的所有图像以及程序的分发,从而使其保持整洁。
另外,一旦在类路径中注册了JAR,您就可以随时将任何其他图像添加到同一JAR中,而不必大惊小怪-一切正常,添加的图像可立即用于您的应用程序。
TA贡献1874条经验 获得超12个赞
首先在“源包”下创建一个包(说图片)
将所有图像复制到此程序包(创建程序包时,将在项目src文件夹内创建一个以程序包名称命名的文件夹,因此将图像复制到该程序包中)
您可以通过以下方式从程序访问图像
范例1:
this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/images/yourimagename")));
范例2:
URL imageurl = getClass().getResource("/images/imagename");//assuming your package name is images
Image myPicture = Toolkit.getDefaultToolkit().getImage(imageurl);
JLabel piclabel = new JLabel(new ImageIcon( myPicture ));
piclabel.setBounds(0,0,myPicture.getWidth(null),myPicture.getHeight(null));
现在使用此JLabel piclabel
添加回答
举报