将图像添加到JAR Java

我在中使用了一些图像JFrame,给出了将图像加载到框架面板的路径,但是当我创建应用程序的jar时,它不显示图像。

我应该在哪里放置图片?

我应该如何指定路径?


setIconImage(Toolkit.getDefaultToolkit().getImage(

                "D:\\RFT\\src\\dailogBox\\dump.jpg"));

像这样我做了。


HUX布斯
浏览 388回答 3
3回答

一只萌萌小番薯

第一步:将图像放在JAR文件中的定义位置。如果将其放入src文件夹,则可能是您的IDE或构建工具会将其自动打包到JAR中。否则,请检查您的IDE /构建工具的文档,必须将其放置在何处。第二步:从程序中访问文件。我假设您将其放在包(JAR中的路径)package1 / package2中,并且该文件称为dump.jpg。在这种情况下,您可以致电:setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/package1/package2/dump.jpg")));getClass()。getResource(...)返回类路径上资源的URL。您可以在类路径中以“ /”开始路径,并使用资源的完整路径/包,并以“ /”分隔。

翻翻过去那场雪

这是处理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中,而不必大惊小怪-一切正常,添加的图像可立即用于您的应用程序。

HUWWW

首先在“源包”下创建一个包(说图片)将所有图像复制到此程序包(创建程序包时,将在项目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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java