相关疑难解决方法(0)

Java Swing:在Jar中显示图像

从eclipse运行Java应用程序时,我的ImageIcon显示得很好.

但是在创建了一个jar之后,图像的路径显然被搞砸了.

有没有办法在运行时从jar中提取图像,以便我可以打开它?或者,有更好的方法吗?

如果可能的话,我想分发一个jar文件.

java swing embedded-resource imageicon

43
推荐指数
3
解决办法
4万
查看次数

如何从NetBeans中的"Resources"文件夹中正确获取图像

我在NetBeans 7.0中有一个Java项目.

我想动态地将一些图像添加到某个标签.图像将根据程序的状态而有所不同.

我把一个这样的图像'filling.jpg'放在我项目的'resources'文件夹中.

我想正确地访问此文件(不是通过绝对路径或相对路径,因为这会在构建jar文件时导致问题).

所以我找到了这个方法:

ImageIcon fillingIcon = new ImageIcon(getClass().getClassLoader().getResource("filling.jpg"));
labelFontFilling.setIcon(fillingIcon);
Run Code Online (Sandbox Code Playgroud)

它一直给我java.lang.NullPointerException.但我确信有那个图像,因为我可以从NetBeans Properties菜单中为该标签分配图像(但我不想这样,我想通过Java代码添加图像).

我做错了什么,我怎样才能正确地获得该图像?

java resources netbeans

31
推荐指数
3
解决办法
17万
查看次数

将图像添加到jar中

我想将图标设置为我的JFrame.我做以下事情:

Image icon = Toolkit.getDefaultToolkit().getImage("src/images/icon.jpg");
this.setIconImage(icon);
Run Code Online (Sandbox Code Playgroud)

当我从netbeans运行此代码时它工作正常,但是当我尝试从jar文件运行此代码时,图像不会显示在我的JFrame中.我试图将图像作为资源加载:

this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/src/images/icon.jpg")));
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,它失败了 NullPointerException

 Uncaught error fetching image:
java.lang.NullPointerException
        at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:99)
        at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:113)
        at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:240)
        at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
        at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
Run Code Online (Sandbox Code Playgroud)

我该怎么做这个工作?

编辑: 感谢所有,通过将图像指定为,解决了问题

Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("images/icon.JPG"))
Run Code Online (Sandbox Code Playgroud)

至于它看起来很奇怪,如果是这样的话会更好

this.setIconImage(new ImageIcon(pathToIcon).getImage());
Run Code Online (Sandbox Code Playgroud)

java jar

6
推荐指数
1
解决办法
1万
查看次数

使用内容分发Java程序

在过去的几个月里,我一直在为一个大学项目开发​​java游戏.它即将到达项目的最后阶段,我想将项目编译成一个易于分发的文件.游戏当前从IDE内部运行,并依赖于特定位置设置的工作目录(即具有声音/纹理的内容目录等).将所有这些放在一起以便携带的最佳方法是什么?我希望有一些方法可以将内容编译到jar文件中......

NB.我正在使用NetBeans,因此任何易于使用netbeans的解决方案都会获得额外的功劳;)

附录::

为了将来的参考,我找到了一种按目录访问东西的方法,这可能不是最好的方法,但它有效:

File directory = new File(ClassLoader.getSystemResource("fullprototypeone/Content/Levels/").toURI());
Run Code Online (Sandbox Code Playgroud)

现在我可以正常使用该文件对象

java netbeans

2
推荐指数
1
解决办法
935
查看次数

标签 统计

java ×4

netbeans ×2

embedded-resource ×1

imageicon ×1

jar ×1

resources ×1

swing ×1