I'm working on a chess game. The problem is I can never close it.
Code:
package gui;
import java.awt.GridLayout;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.event.WindowAdapter;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
public class Board {
private JLabel[][] squares;
private JPanel board;
public static void main(String[] args) { // temp for testing
JFrame frame = new JFrame();
Board board = new Board();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel emptyLabel = new JLabel("");
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);
frame.getContentPane().add(board.getBoard());
frame.pack();
frame.setVisible(true);
}
public Board() {
board = new JPanel(new GridLayout(8,8));
squares = new JLabel[8][8]; // store a record for easily updating squares in future
//Create squares and place them on board
for (int row = 0; row < 8; row++) {
for (int col = 0; col < 8; col++) {
JLabel newSquare = new JLabel();
newSquare.setPreferredSize(new Dimension(50,50));
newSquare.setOpaque(true);
if (row % 2 == 0) {
if (col % 2 == 0)
newSquare.setBackground(Color.yellow);
else
newSquare.setBackground(Color.green);
} else {
if (col % 2 == 0)
newSquare.setBackground(Color.green);
else
newSquare.setBackground(Color.yellow);
}
board.add(newSquare);
squares[row][col] = newSquare;
}
}
}
public JPanel getBoard() {
return board;
}
}
