MyEclipse导出jar后运行无法显示图片

我用java在MyEclipse环境下写了一个程序,在MyEclipse下运行没有问题,但是生成可运行的jar文件之后,jar文件可以运行,但是图片却无法显示,jar包中... 我用java在MyEclipse环境下写了一个程序,在MyEclipse下运行没有问题,但是生成可运行的jar文件之后,jar文件可以运行,但是图片却无法显示,jar包中有图片文件。我也把图片文件和jar包放在一个目录之后尝试过,但都不能成功。其中包含读取图片文件的代码如下:
public TracePanel(String fileName){
tk=getToolkit();
img=tk.getImage("./src/"+fileName);
setBackground(backColor);
setBorder(BorderFactory.createRaisedBevelBorder());
}
展开
 我来答
清幽幻梦
2012-03-21 · TA获得超过118个赞
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:133万
展开全部
之前我也遇到过这样的问题。
还是取得图片的路径的问题。
你可以 ImageIcon img = new ImageIcon(getClass().getResource("/images/plus.jpg"));
images这个文件夹放到src下。

接分。
百度网友845f74e61
2012-03-21 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1626万
展开全部
你使用的是相对路径

String dir = System.getProperty("user.dir");
可以得到jar运行时的当前目录。这样可以得到图片的绝对路径。
更多追问追答
追问
我改成如下代码之后导出jar,并把图片文件与jar文件放在一个根目录下,仍然运行后无法显示图片……
public TracePanel(String fileName){
String dir = System.getProperty("user.dir");
tk=getToolkit();
img=tk.getImage(dir+fileName);
setBackground(backColor);
setBorder(BorderFactory.createRaisedBevelBorder());
}
追答
你看一下
你得到的dir是什么不就知道了。
比如
dir = C:\xxx\xxx这样
你的文件名是1.jpg

dir+fileName = C:\xxx\xxx1.jpg

就是这样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友98abf1f
2012-03-21 · TA获得超过1836个赞
知道大有可为答主
回答量:1961
采纳率:0%
帮助的人:1313万
展开全部
把图片直接放在res下试下,路径就直接用图片文件名,不用写src.res啦!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
harkeney
2012-03-21 · TA获得超过893个赞
知道小有建树答主
回答量:875
采纳率:0%
帮助的人:621万
展开全部
路径不对嘛,getImage的根目录就是src下面了,你重新拼下你的路径试试
追问
在MyEclipse里面运行的时候是没问题的啊,是导出来之后单独运行时无法显示图片了……
追答
我就是说导出来之后你的路径就不对了
比如说你有一个av.jar,里面的src路径下有个av.jpg,那么getImage("av.jpg")就可以直接取到,root不同了已经

路径这种玩意,你最好用代码拼个相对路径,或者你干脆把图片和应用分开,应用里写配置文件来指定图片在服务器上的地址,然后代码里读这个配置来取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-03-21
展开全部
img = tk.createImage(TracePanel.class.getResource(fileName));
TracePanel是当前类的类名,图片与TracePanel.java放同一个目录下
追问
导出成jar文件之后,jar包里面哪还有java文件,都是编译后的class文件了……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式