JAVA打包后的图片为什么无法显示?
this.backgroundimg=newImageIcon("img/login.jpg");this.icon=Toolkit.getDefaultToolkit(...
this.backgroundimg = new ImageIcon("img/login.jpg");
this.icon = Toolkit.getDefaultToolkit().getImage("img\\icon.gif"); 展开
this.icon = Toolkit.getDefaultToolkit().getImage("img\\icon.gif"); 展开
4个回答
展开全部
图片不要打包进jar里面,
因为jar 包里的资源需要用文件流的方式读取出来。
文件:InputStream ins = this.getClass().getResourceAsStream(path);
图片:InputStream ins = this.getClass().getResourceAsStream(path);
ImageInputStream imageIns = ImageIO.createImageInputStream(ins);
BufferedImage image = ImageIO.read(imageIns);
最好把图片单独一个文件,路径最好不用相对路径,这样部署不好控制可以通过this.getClass().getResource("imagefilePath")来获取绝对路径来读取,不懂继续追问!
因为jar 包里的资源需要用文件流的方式读取出来。
文件:InputStream ins = this.getClass().getResourceAsStream(path);
图片:InputStream ins = this.getClass().getResourceAsStream(path);
ImageInputStream imageIns = ImageIO.createImageInputStream(ins);
BufferedImage image = ImageIO.read(imageIns);
最好把图片单独一个文件,路径最好不用相对路径,这样部署不好控制可以通过this.getClass().getResource("imagefilePath")来获取绝对路径来读取,不懂继续追问!
展开全部
你这样,图片应该是在这个运行程序的同级目录下。
如果你打包到了jar文件中。
那应该用this.getClass().getResource("");
这样得到文件流来处理。
如果你打包到了jar文件中。
那应该用this.getClass().getResource("");
这样得到文件流来处理。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先生,打包后路径会变的,这问题曾几何时折磨我N久啊!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个要保证你打包后的图片在classpath中的,不然是没法引用到的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询