Итак, по какой-то причине, когда я пытаюсь использовать цикл for для инициализации панелей на шахматной доске, он фактически зацикливает сам цикл. Другими словами, это не продолжается вечно, но начинается и завершается снова и снова.
package chessgame;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ChessGame extends JFrame implements ActionListener{
public static final int WIDTH=800;
public static final int HEIGHT=800;
public static void main(String[] args) {
ChessGame gui = new ChessGame();
gui.setVisible(true);
}
public ChessGame(){
super("Chess Game Demo");
setSize(WIDTH, HEIGHT);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(8,8));
JPanel[] chessSquares = new JPanel[64];
for (int a=0;a<64;a++){
System.out.println(a);
}
}
}
Я включил весь потенциально важный код, потому что планирую использовать индексы шахматных квадратов для окрашивания квадратов в черный и белый. Когда я делаю это, я также получаю исключение NullPointerException. Я могу понять, почему я получаю это, учитывая следующую ошибку, но я вообще не могу понять, почему a будет печататься 0, 1 .... 62, 63 снова и снова. Я относительно новичок в Swing и абсолютно не знаю, почему он это делает. Если бы кто-нибудь мог объяснить, это было бы чрезвычайно полезно. Спасибо.