を使用して、私は、Javaでチェスゲームの開発中に問題が発生しています比較的未経験のプログラマです。私はLinkedList
の個々の部分を保持するHandler class
を作成しました。個々の部分をマウスで選択し、移動するために必要なx座標とy座標をそれぞれに変更する機能を組み込みたいと考えています。私MouseClicked()
方法で各オブジェクトのgetXメソッドとのgetYへのmouseClicked内のfor-eachループ
私はLinkedList
内のすべてのPiece
オブジェクトのfor-each
ループを実行し、それぞれの座標を確認してください。ループが次の例外を実行するため、ここで問題が発生します。
"Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException."
この問題を解決するにはどうすればよいですか?
は、ここに私のmouseClicked()内のコードを次の:
はpublic void mouseClicked(MouseEvent e) {
int x = e.getX();
int y = e.getY();
System.out.println(e.getX() + " " + e.getY());
if(clickMode == 0)
{
for(Piece pi: handler.piece)
{
if(x >= pi.getX() && x <= pi.getX() + 75 && y >= pi.getY() && y <= pi.getY() + 75)
{
System.out.println("Piece Selected");
pi.isSelected = true;
clickMode = 1;
}
}
}
else
{
for(Piece pi: handler.piece)
{
if(pi.isSelected == true)
{
System.out.println("Piece Moved");
pi.setX(x);
pi.setY(y);
pi.isSelected = false;
}
}
clickMode = 0;
}
}
nullを確認するコードをデバッグしようとしましたか? (ヒントがヌルかフィールド 'piece'の場合は' handler'をチェックします) – n247s
私はちょうどそれを行い、問題を解決しました!ありがとう! –