这个问题在这里已经有答案了:
eclipse导出的runnable jar不显示图像(8个答案)
可运行jars缺少图像/文件(参考资料)(5个答案)
java路径imageicon url.jar(1个答案)
两天前关门了。
我的程序在eclipse中工作得很好,正确地创建了要制作成jlabel的图像,但是当我尝试将程序导出到可运行的jar中时,它就不再工作了。我已经做了一些调试,并设法找出我创建图像返回的方法在导出后不起作用。我假设这是因为使程序成为可运行的jar文件会更改文件的路径,但我对如何修复它一无所知。以下为相关细节,如有帮助,敬请谅解!
// This is the method that calls the method to create the pictures
public static void buildMapper() {
readPics();
...
// Create JLabel pictures
JLabel f1 = new JLabel(new ImageIcon(floor1.getScaledInstance(1275, 825, Image.SCALE_SMOOTH)));
..
}
private static void readPics() {
try {
// Load floors
floor1 = ImageIO.read(new File("src\\resources\\floor1.png"));
...
}catch(IOException ex){ System.out.println("IO Exception"); }
}
// floor1 is a private static BufferedImage
下面是我如何建立我的项目树。“资源”文件夹只包含我使用过的所有图像,例如 floor1.png
工程浏览器
再次感谢您的帮助!这是我第一次在这么大的范围内做编程项目,涉及到很多我必须自己学习的东西,所以肯定会有很多错误值得我学习!
编辑:我设法修好了。如果有人在挣扎,我的解决办法就是换线 floor1 = ImageIO.read(new File("src\\resources\\floor1.png"));
至 floor1 = ImageIO.read(getClass().getResource("/resources/floor1.png"));
. 我还必须使该方法不是静态的,因为不能在静态方法中调用this.getclass()。
暂无答案!
目前还没有任何答案,快来回答吧!