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);
}
}
補足
ご返答ありがとうございます。 javaを習おうとおもっていて、 いろいろ調べると、 金融系の方で学ばれる方が多いことをしりました。 javaは、モバイルゲームなど、モバイルコンテンツを 作るためなのかと思っていたため、 もしかしてjavaってゆうのが2種類あるのか? など、もしかして自分の想像してるのと異なるのかと思いまして、 質問した方が早いかと思いました。 そもそも、プログラム言語? というものについてはじめてで、 無知なため、申し訳ないです。