Я пишу шахматную программу на Java, которая должна отображаться в апплете. У меня сейчас проблема с заполнением массива шахматных фигур. В настоящее время это делается в методе paint () моего JApplet, и я знаю, что это неправильно, потому что paint можно вызывать более одного раза. Я попытался создать массив и заполнить его в своем методе инициализации, но это не работает вообще. Любая помощь будет оценена.
public class DrawChessBoard extends JApplet
implements MouseListener, MouseMotionListener {
ChessPiece myPiece;
ImageIcon square;
ImageObserver observer;
ChessBoard gameBoard;
boolean isMouseDragging = false;
int size; //square dimensions
public void initialize() {
setBackground(Color.white);
Image bSquare = square.getImage();
size = bSquare.getWidth(observer);
addMouseListener(this);
addMouseMotionListener(this);
}
public void paint(Graphics h) {
Graphics2D g = (Graphics2D) h;
//System.out.println("Am I being called more than once?");
gameBoard = new ChessBoard(8);
gameBoard.start();
gameBoard.paintBoard(g);
gameBoard.paintComponent(g);
}
}