当前位置: 首页 > 知识库问答 >
问题:

Jar中未显示的图像

汪胤
2023-03-14

我的程序在Eclipse中运行完美,但是当我导出它时,图像不显示出来。

我的设置看起来像

src
..gui
....Main.java
....menus
......MenuMain.java
res
...Logo.png

我参考标志。来自MenuMain的png。java,我尝试了很多方法;

  • res/Logo。巴布亚新几内亚

前3个在Eclipse中工作,但都不在Jar中工作。我检查了Jar文件,res文件夹在那里,所有的图像也是如此。我还尝试编辑MANIFEST. MF并添加了类路径:

但它仍然不起作用。我在运行Jar时没有发现任何错误,其他所有内容都显示在文件中(按钮、标签等)

编辑:我使用这是GridBagLayout的JPanel,我添加了一个ImageIcon到JLabel,以便能够将其添加到JPanel。最初我用的是这样的:

JLabel logo = new JLabel(new ImageIcon("res/Logo.png")); 

但我也尝试了其他变体,如:

JLabel logo = new JLabel(new ImageIcon(MenuMain.class.getClassLoader().getResource("/res/Logo.png")));

也可以通过getResourceAsStream()

只有第一个可以在Eclipse中工作,但不会显示在Jar中。其他的只是崩溃(空指针)

共有1个答案

鲁炳
2023-03-14

你需要包括标志。使用ClassLoader从类路径加载资源。getResourceAsStream()

一般情况是:

...
InputStream resource = className.class.getResourceAsStream("/res/Logo.png");
Image image = ImageIO.read(resource);
// do your display stuff here...
...
 类似资料:
  • 我有一个netbeansjavagui项目。它包含用于图像的java文件和文件夹。我的项目中最重要的一部分是通过单击按钮来显示图像,比如说单击“下一步”按钮。当我点击“下一步”按钮时,图像将从IMG文件夹中逐个显示。我将图像放在标签中,如下所示: 我运行了这个程序,到目前为止,它可以按照我的要求工作。 然后,我需要将项目创建到一个jar文件中。我使用Netbeans和这个来创建我的项目的JAR文件

  • 我已成功将图像上载到我的上载目录。这就是结构 公共网页- 现在,我在DB记录中存储的路径是: ./上传/上传图片。gif 但当我这么做的时候: 它仍然没有显示任何东西。图像路径内容为/上传/上传图片。gif。 我正在尝试将图像加载到位于以下位置的视图中: 公共网页- 我会非常感激你的帮助。

  • readme.md文件的完整内容如下:

  • 它将我带到图库以选择图像,但未显示在应用程序中,当单击上传按钮时,它只是一个空白图像视图 < li >我的Java代码 < li>XML代码 运行时显示此错误 java.lang.IllegalArgumentException:uri不能为空 以下两处给出错误的行显示了uri错误

  • 我对Python相当陌生。我有一个简单的脚本,在控制台上显示一个简单情节。当我在VSCode中执行脚本时,它可以完美地工作,并且图如预期所示。然而,当在WSL中用Python运行相同的脚本时,该图不会显示,而且我也不会收到任何错误消息。 我使用的是 Windows 10。 这是我在WSL下直接在Python中键入的代码片段: 同样,当我在VSCode中执行脚本时,该图显示出来。 如何在 WSL 下

  • 因此,在NetBeans IDE中,一切正常。全力工作。但是在Built&Clean之后,我看不到图像,但所有的操作都完成了。 你能建议出了什么问题吗?因为这个而生气