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());
} 展开
public TracePanel(String fileName){
tk=getToolkit();
img=tk.getImage("./src/"+fileName);
setBackground(backColor);
setBorder(BorderFactory.createRaisedBevelBorder());
} 展开
5个回答
展开全部
你使用的是相对路径
String dir = System.getProperty("user.dir");
可以得到jar运行时的当前目录。这样可以得到图片的绝对路径。
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
就是这样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把图片直接放在res下试下,路径就直接用图片文件名,不用写src.res啦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
路径不对嘛,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放同一个目录下
TracePanel是当前类的类名,图片与TracePanel.java放同一个目录下
追问
导出成jar文件之后,jar包里面哪还有java文件,都是编译后的class文件了……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询