+ -
当前位置:首页 → 问答吧 → eclipse上运行正常,导出后图像不显示是怎么回事?

eclipse上运行正常,导出后图像不显示是怎么回事?

时间:2011-12-18

来源:互联网

新手求教,写了个五子棋程序,里面就一张图片,在eclipse下运行都正常,可一导出jar包就显示不出图片,查了好久也查不出问题,搜索也没有结果,希望大家昂忙看看

作者: easonloveelva   发布时间: 2011-12-18

你好啊,我之前也遇到过这个问题,其实解决办法很简单而已。

这是个关于路径的问题,当你将项目打成Jar包之后,里面就只剩下class文件了,一般都选这个选项。
你在开发项目的时候读取文件的路径如果是在项目的根目录,那打包之后你就在被打成JAR的文件的同
一个目录下建立你文件路径所对应的目录及文件,再打开Jar可执行文件就可以找到这些资源了,图片
可以显示出来了。

希望对你有用吧

作者: caihanyuan   发布时间: 2011-12-18

感谢LS的热心解答
我的实际情况是这样的:项目下的src目录下有一个是放代码的package,一个是放资源的image文件夹,按1L的意思我把项目打完jar包后在相同目录下建立文件夹src->image,把图片资源放进去吗?实际操作没有成功显示图片啊,而且如果是这样操作,jar文件不能独立运行感觉很别扭啊。

作者: easonloveelva   发布时间: 2011-12-18

加载图片的路径不对:
1. 以classLoader.getResource()来处理
2. 以可执行程序所在目录来处理

需要看你是以哪一种方式

作者: Inhibitory   发布时间: 2011-12-18

资源文件应该使用 Class/ClassLoader的 getResource/getResourceAsStream 载入。

把images目录加到 Build Path.
images目录下的文件如 back.jpg 可以这样读:
ImageIO.read(getClass().getResource("/back.jpg"));

作者: huntor   发布时间: 2011-12-18

//private static Toolkit tk = Toolkit.getDefaultToolkit();
//private static Image image = tk.getImage(MyCheseFrame.class.getClassLoader().getResource("images\\background.jpg"));
我是用这两句来加载图片的,有什么不对吗?eclipse上运行就正常,打包就不正常

作者: easonloveelva   发布时间: 2011-12-18