Java基础 canvas加载图片问题

加载图片出现异常显示不出来publicclassGameCanvasextendsCanvasimplementsRunnable{booleanPaintState=t... 加载图片出现异常 显示不出来
public class GameCanvas extends Canvas implements Runnable{
boolean PaintState=true;
Image soccerImage;

public GameCanvas(){

try {
soccerImage=ImageIO.read(new File("/image/soccer.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
@Override
public void paint(Graphics g) {

g.drawImage(soccerImage, 50, 50, this);
}
我的图片是加载在 image包中的一个soccer.jpg 的文件
不知道是路径不对还是怎么 , 显示找不图片 。 我想用相对路径 不用绝对路径。

如果这个方法不能使用相对路径 , 我希望能给予新的加载办法,
展开
 我来答
yugi111
2014-04-09 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
package zhidao;

import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class GameCanvas extends Canvas implements Runnable
{
private static final long serialVersionUID = 1L;
boolean PaintState = true;
Image soccerImage;

public GameCanvas ()
{
try
{
soccerImage = ImageIO.read (this.getClass ().getResourceAsStream ("../image/soccer.jpg"));
System.out.println (soccerImage.getWidth (null));
}
catch (IOException e)
{
e.printStackTrace ();
}
}

@Override
public void paint ( Graphics g )
{
g.drawImage (soccerImage, 50, 50, this);
}

@Override
public void run ()
{}

public static void main ( String[] args )
{
new GameCanvas ();
}
}

 

追问

用了你的代码还是异常

还是有错

追答
提问者懂不懂包的概念,路径的概念???

这样的话你应该是这样写的../../../image/soccer.jpg
聊聊现代量子物理
2014-04-09
知道答主
回答量:23
采纳率:0%
帮助的人:7.3万
展开全部
路径不对吧,写成绝对路径,“C:/image/soccer.jpg"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式