我有一个模仿飞鸟的Java GUI游戏,我试图导出到其他计算机。我很困惑在我的代码中设置相对/绝对路径的内容;或者使用什么方法来打包要部署的JAR文件中的所有内容。
我在同一项目中创建了一个新的源文件夹,其中包含我代码的所有图像。我尝试将'ImageIO.read'或'getClass()。getResource()'指向源文件夹。我还尝试在链接资源下创建路径变量以指向图像的位置 如果我指向图像的绝对路径,我只能让我的游戏运行,这是不好的。
如何指向正确的资源文件夹来访问我的图像,以便我的程序可以在多台计算机上运行?
当我尝试将路径更改为相对路径时,这些是我得到的错误: - 不要读输入 -null或nullpointerexception
这是我的代码, 评论的部分是我从多个谷歌搜索和多个SO答案尝试过的。 未评论的部分是唯一运行的代码,这是我不想要的。
提前感谢任何建议〜
答案 0 :(得分:1)
您有几个问题/问题,必须按以下顺序解决: 1)更改您的文件夹结构。 2)打包jar文件 3)访问图像。 (3)在(2)之前不工作,(2)在(1)之前没有(合理)。
1)为了您的目的,停止处理java源文件和图像文件如此不同。将它们放在日食中的一个包(文件夹)中,或放在子画面中。 2)右键单击项目并选择导出。选择jar并选择名称和所有文件。 3)图像的路径是packagename + filename,用斜线替换点(例如com / flappy / game / images / bird.gif)。使用疯狂编程器的imageio读命令来获取图像。