我已经看到了这个答案:Add image to JAR Java 但我不明白它是如何运作的。我将尝试逐步解释。
一开始我将图片添加到我的项目中
我的问题 - 我应该在哪里放置我的img.png?
然后我尝试从资源中获取
URL url = tester.class.getResource(PATH);
ImageIcon ii = new ImageIcon(url);
我尝试了不同的方式,如下:
你能告诉我我做错了什么吗? 如果你不困难,请一步一步。
伙计们,我已经注意到,如果我有一个长度很长的网址,我就看不到图像,但是如果我将文件复制到C :(例如),我就能看到它。发生了什么事?是bug吗?顺便说一句,我的网址包含!!!符号。
答案 0 :(得分:5)
/images/img.png
是绝对路径,因为它以/
开头。根据您的问题,此路径不存在,因为images
文件夹位于test
包中,因此它应为/test/images/img.png
路径images/img.png
与您尝试加载资源的类相关。问题是,我不明白你的意思是“它不起作用.ii有错误的大小等”。你应该详细说明一下。
我不会在这里向您描述加载资源的规则,相反,我建议您查阅文档:
答案 1 :(得分:2)
您应将图像放在图像文件夹中。
并像这样加载图像
String path = "images/img.png";
URL url = tester.class.getResource(path);
答案 2 :(得分:0)
我为我的问题尝试了所有这些答案,但没有一个能够奏效。我问了一位朋友,他完美地回答了我的问题。创建一个名为Images的源文件夹(即如果您正在使用eclipse,请右键单击您的项目 - > new - > sourceFolder)。无论你想要什么,我都称它为我的图像。把一些图像放进去。
现在我有JLabels,我给了他们ImageIcons。请查看以下代码。
int
setPieces()方法还有很多内容,但是这一瞥是在创建可执行jar并想要显示图像时如何引用源文件夹中的图像。
答案 3 :(得分:-1)
你再次使用你的路径Images / BPawn.png,做: BPawn = new ImageIcon(" {Projectname} / {map} / {image.jpg / png / whatever}");
WPawn也是如此