java 初心者です
javaの勉強しようと思い、ゲームを作ることになったのですが、画像が表示されなくて困っています。
構想としてはメインクラスからフレームクラス(gameFrame)を呼び出し、フレームクラスから画像表示クラス(Layer)を呼び出したいのですが、
Exception in thread "main" java.lang.NullPointerException
at Layer.paint(Layer.java:25)
at Layer.<init>(Layer.java:17)
at gameFrame.newLayer(gameFrame.java:25)
at main.main(main.java:9)
というエラーが出てうまくいきません。
下記にLayerクラスを載せるのでお願いします。
import java.awt.*;
import javax.swing.*;
public class Layer extends JPanel{
int x=0;
int y=0;
private static final long serialVersionUID = 1L;
Image image = null;
Layer(String img,int X,int Y){
image=roadImage(img);
setVisible(true);
x=X;
y=Y;
paint(this.getGraphics());
}
public void paint(Graphics g){
System.out.println("ペイント");
System.out.println(image);
g.drawImage(image,x,y,this);
System.out.println("ペイント終わり");
}
static Image roadImage(String path){System.out.println("イメージセット");
if(path == null){
System.out.println("pathはnullです");
}
System.out.println("pathは"+path+"です。");
Toolkit kit = Toolkit.getDefaultToolkit();
return kit.getImage(path);
}
}
お礼
>クラスは正しいアプレットの形式にのっとって作成されていますか? アプレットではない??ようでした。すみませんたぶんDOS実行アプリだったみたいです。 アプレットのソースの書き方を見つけ自己解決しました。 大変お騒がせしましたm(v_v)m;