dポイントプレゼントキャンペーン実施中!

下記のクラス(Panel_Middle)内でパネル(pnlFd)を作成してます。しかし、メインフォームからこのクラスの"CreateMainPanel"関数を呼ぶと
"pnlFd.setBounds(new Rectangle(5, 5, 110, 38));"
の後に"java.lang.NullPointerException
"とエラーが出ます。色々考えたのですが、理由がわかりません。

public class Panel_Middle extends Panel{
Panel_Main pnlFd = new Panel_Main("A.gif","B.gif");
Image im;

//CONSTRUCT
public Panel_Middle(String img) {
im = Toolkit.getDefaultToolkit().getImage(img);

//MediaTracker画像入力監視
MediaTracker mt = new MediaTracker(this);
mt.addImage(im, 0);
try {
mt.waitForID(0);
}
catch (InterruptedException e) {
}
}

//Print
public void paint(Graphics g) {
if (g.drawImage(im, 0, 0, this) != true) {
System.out.println("ng");
}
}

public void CreateMainPanel(){
  this.add(pnlFd, null);
pnlFd.setBounds(new Rectangle(5, 5, 110, 38));
pnlFd.setImageInit();
}
}

A 回答 (2件)

私はJBuilderを使っていないので、詳しくはわかりませんが・・・・。




NullPointerExceptionというのは、どこに出てきましたか?

そのメッセージと一緒に(下に)、

at aaaa.java(bbbb)

のような形式でメッセージはありませんか?

これは、aaaa.javaというソースファイルのbbbbの行で、
例外が発生したことを示しています。


このメッセージと、そのメッセージの示すソースコードを見なければ
問題を解決することは出来ませし、何の判断もできません。


まず、この2つを示してください。
    • good
    • 0

これだけを見たところ問題なさそうです(というか情報不足でわからない)。




こういうのって、掲示板とかで見つけるのは難しいんですよね~。

数行のプログラムなら、全ソースを見せてもらえるけど、
だんだん大きくなると、全部を載せるわけにはいかなくなるから。

最終的には自分で見つけるしかないんですよ。

ということで、見つけるまでの手順を説明(誘導)していきたいと思います。


で、その前に補足要求です。

1.ご使用のOS
2.開発環境を使ってますか、それともコマンドベースですか?
3.java.lang.NullPointerExceptionメッセージを正確に書いてください。
 (上から5行程度)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。たしかにngsvxさんのおっしゃるとおり情報不足だと思います。
考えているうちになにがなんだかわからなくなり、質問してしまいました。すみません。

で、先ほど少しロジックの記述する順番を変えたところエラーが消えました、しかし僕の中のなぜ?は消えません・・・。
先ほど載せたロジックの
public void CreateMainPanel(){
this.add(pnlFd, null);
pnlFd.setBounds(new Rectangle(5, 5, 110, 38));
  pnlFd.setImageInit();
}

public void CreateMainPanel(){
this.add(pnlFd, null);
pnlFd.setImageInit();
pnlFd.setBounds(new Rectangle(5, 5, 110, 38));
}
したらエラーがなくなりました。


補足情報
1.Windows2000
2.JBuilder 8
3.どのエラーを書けばよいのかわかりません。

お礼日時:2003/05/19 13:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!