为了账号安全,请及时绑定邮箱和手机立即绑定

将图像添加到JAR Java

将图像添加到JAR Java

HUX布斯 2019-12-05 15:57:20
我在中使用了一些图像JFrame,给出了将图像加载到框架面板的路径,但是当我创建应用程序的jar时,它不显示图像。我应该在哪里放置图片?我应该如何指定路径?setIconImage(Toolkit.getDefaultToolkit().getImage(                "D:\\RFT\\src\\dailogBox\\dump.jpg"));像这样我做了。
查看完整描述

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。您可以在类路径中以“ /”开始路径,并使用资源的完整路径/包,并以“ /”分隔。


查看完整回答
反对 回复 2019-12-05
?
翻翻过去那场雪

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


查看完整回答
反对 回复 2019-12-05
?
HUWWW

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


查看完整回答
反对 回复 2019-12-05
  • 3 回答
  • 0 关注
  • 361 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信