java图片路径问题 高手帮我来看看!为什么老是报图片路径不对??以前我插图片都这么插的 没有提示路径错误啊
java图片路径问题 高手帮我来看看!
为什么老是报图片路径不对??
以前我插图片都这么插的 没有提示路径错误啊 ??
到底是什么原因??
新人求解!!!
[最优解释]
在根目录下新建一个resources目录、把image目录移到其下面,然后把resources目录加到Build Path。
TankGame.class.getResource("/image/p1.jpg")[其他解释][其他解释]把image目录放到bin目录下
[其他解释]把image文件夹放到src下试试?
[其他解释]top top top
[其他解释]楼上的基本都把可行的方法说了,我刚开始也为路径问题困扰了很久,尤其是最后打成JAR包后的路径。顶一下
[其他解释]万分感谢 终于搞定了
[其他解释]呵呵 自己也纠结了好久,开始还以为是图片格式的问题呢
[其他解释]image1 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/image/p1.jpg"));
用我这方法获取图片成功了
不过用你的TankGame.class.getResource("/image/p1.jpg")不对,这里的TankGame指的是根目录名吗?
还有可以请教下你们一般是怎么提取图片的吗? 我觉得我们老师说的这种方法代码太长了
[其他解释]看错了,把包名TankGame看成类名了。
这样用的话,到时候可以把图片也打包到jar文件里。方便了程序的分发。
[其他解释]一般使用 ImageIO的read方法读图。Toolkit的getImage方法是一个异步的,需要使用MediaTracker监控是否完全载入图片。
[其他解释]嗯 改过来之后编译有错误 类型不匹配 我直接申明成Image类型的。请问怎么申明为URL类型?
[其他解释]这么说ImageIO是安全同步的了?可以举个用ImageIO read()方法读图的例子吗? 新人 问题多了点 希望大哥能耐心解答下哈 万分感谢!
[其他解释]public static void main(String[] args){
try{
URL url = new URL("http://www.google.com.hk/images/srpr/logo3w.png");
BufferedImage image = ImageIO.read(url);
JFrame frame = new JFrame();
JLabel label = new JLabel(new ImageIcon(image));
frame.getContentPane().add(label);
frame.setBounds(0, 0, 400, 300);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}catch(Exception e){
e.printStackTrace();
}
}
简单的写了一下,差不多吧,反正read()貌似还有很多重载方法,自己查API就清楚了
[其他解释]try {
image1=ImageIO.read(new File("/image/p01.jpg"));
image2=ImageIO.read(new File("/image/p02.jpg"));
image3=ImageIO.read(new File("/image/p03.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
为什么我这么写还是在报异常呢 ?? 什么io包都引了的 也按你的方法添加了build path;
javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(Unknown Source)
at TankGame.DrawTank.<init>(TankGame1.java:60)
at TankGame.TankGame1.<init>(TankGame1.java:33)
at TankGame.TankGame1.main(TankGame1.java:26)
[其他解释]F:/java/image/us.gif
[其他解释]谢谢 可以了 不过我看网上的视屏教程 老师用的是Image image1=ImageIO.read(new File("/image/p01.jpg"));方法取图完全没问题 怎么到我这这方法就不行了呢?
[其他解释]BufferedImage bi1 = ImageIO.read(Panel.class.getResource("/image/p01.jpg"));[其他解释]我的好的谢谢啦 以后就用你说的那个方法了
[其他解释]老师的不一定适合现在的需要。
他写的例子只要在教学时能运行就没事了。没有考虑程序分发出去怎么运行?