IOException加载PNG图像

时间:2015-05-19 17:42:34

标签: java-me

我目前正在使用Canvas开展学校J2ME项目,我正在尝试为明天的考试准备Ping Pong球应用程序,但是当使用Image.createImage(url)加载PNG图像时,我得到一个IOException(图像)是在正确的src文件中,它是32x32像素)

这是我的代码:

public class BallGame extends GameCanvas implements Runnable {

private Image ballImg;

private Sprite ballSprite;
private String url="/ball.PNG";
private int ballX = getWidth() / 2;
private int ballY = getHeight() / 2;

public BallGame() {
    super(false);
}

public void run() {

    while (true) {
        try {
            updateScreen(getGraphics());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

public void start() {
    try {
        ballImg = Image.createImage(url);

    } catch (IOException ex) {
        System.out.println("*********");
        ex.printStackTrace();
        System.out.println("********************");
    }

    ballSprite = new Sprite(ballImg, 32, 32);
    ballSprite.setRefPixelPosition(16, 16);
    ballSprite.setPosition(ballX, ballY);

    Thread runner = new Thread(this);
    runner.start();

}

public void Createbackground(Graphics g) {
    g.setColor(0x000000);
    g.fillRect(0, 0, getWidth(), getHeight());
}

public void updateScreen(Graphics graphics) {
    Createbackground(graphics);
    ballSprite.setRefPixelPosition(ballX, ballY);
    ballSprite.paint(graphics);
    flushGraphics();

}

public void moveBall() {

}}

1 个答案:

答案 0 :(得分:1)

在我看来,您的路径错误或文件所有权存在问题。检查是否有其他程序正在编辑它。

您是否尝试过添加完整的绝对路径? 你也试过使用" ball.png"没有文件夹路径的同一文件夹内的图像,如:

private String url="ball.PNG";

如果这有效,那肯定是路径问题。

在我的J2ME设备版本中,当我打开文件时,我的路径就像这样开始:

String path_start="file:///a:/";