我有一个用java编写的蛇游戏但是当我将项目导出为Runnable Jar时,图像不会加载。他们在日食中工作得很好。有什么问题?
我的loadImages方法如下所示:
private void loadImages() {
ImageIcon snakeBlockIcon = new ImageIcon("snake/images/snakeBody20px.png");
snakeBlockImage = snakeBlockIcon.getImage();
snakeBlockImage = snakeBlockImage.getScaledInstance(DOT_SIZE, DOT_SIZE, Image.SCALE_DEFAULT);
...
我的项目结构如下:
(SourceFolder)项目> (源包)蛇> (包)图片
(SourceFolder)项目> (源包)蛇> (包)蛇> .java文件
谢谢!
编辑:获得足够的代表发布图片
答案 0 :(得分:1)
在jar中,你需要使用这样的代码作为资源访问文件(类似于.txt .WAV):
ImageIcon ic = new ImageIcon(getClass().getResource("/machetelife.jpg"));
我不知道eclipse是否以不同方式打包..我通常使用cmd打包jar文件。
答案 1 :(得分:0)
第二个选项可以通过首先从“生成可运行jar”屏幕导出ant构建文件,然后对其进行编辑以包含文件来轻松完成。
要修改它找到jar任务,它应该是target元素中第一个具有name属性“build_run_jar”(<target name="build_run_jar">
)的元素,并在其中添加以下元素:
<fileset dir="path/to/your/files"/>
用相对路径或绝对路径替换包含文件的文件夹。
如果要包含目录中的特定文件,可以明确包含它们(请注意,这样只包含您指定的文件):
<fileset dir="your/path"/>
<include name="filename"/>
</fileset>
有关更多信息,请阅读Ant manual about the Jar task