我目前正在使用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() {
}}
答案 0 :(得分:1)
在我看来,您的路径错误或文件所有权存在问题。检查是否有其他程序正在编辑它。
您是否尝试过添加完整的绝对路径? 你也试过使用" ball.png"没有文件夹路径的同一文件夹内的图像,如:
private String url="ball.PNG";
如果这有效,那肯定是路径问题。
在我的J2ME设备版本中,当我打开文件时,我的路径就像这样开始:
String path_start="file:///a:/";