我在java程序中导入了一张图片,但是导出为jar文件时无法显示,应该是相对路径的问题,请问怎么解决??

代码如下:try{imagePath=System.getProperty("user.dir")+"/src/images/background.jpg";//reso... 代码如下:
try { imagePath = System.getProperty("user.dir")+"/src/images/background.jpg" ;// resource = this.getClass().getResource("/background.jpg");// bgImage = ImageIO.read(resource); bgImage = ImageIO.read(new File(imagePath)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }

请问怎该啊??我用url试了下,但是在运行时根本无法显示。在下是个初学者,还请各位指点一下吧!!最好给个代码。
展开
 我来答
Onewarden
2013-04-29 · TA获得超过327个赞
知道小有建树答主
回答量:145
采纳率:100%
帮助的人:143万
展开全部
System.getProperty("user.dir")得到的应该是这种形式的
盘符:\... ...\工作空间\FiveChaessProject,
这样拼行不呢:
imagePath = System.getProperty("user.dir")+"\\src\\images\\background.jpg"
更多追问追答
追问
还是一样~~导出jar还是不显示
追答

刚才说的方法打成jar包确实有问题,我试了一下其它方法,终于解决了,上面打成jar包如果能成功执行并正确访问到图片,则会弹出图片宽度:

应该把image文件放在src下面,像我这里的test/src/image经过编译后,会产生test/bin/image,即把image文件放到bin文件夹下,通过getClass().getResource()访问,bin文件夹则是应用程序的根,则通过/image/来访问图片。

再弹出一个窗口来测试获取的路径:

在myeclipse中运行时第一句会弹出:

但打成jar之后放在桌面就不一样了,

注意,我的jar包名是getImage.jar,但在路径后还加了一个!号,至于这个的原因我就不知道了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式