¿Cómo hago una cuadrícula de JPanel?

Estoy tratando de crear una interfaz gráfica de usuario para un juego similar al ajedrez (tablero de 6x6 con menos piezas).

creando el tablero es bastante fácil con bucles y JPanels, pero no tengo idea de cómo poner las piezas encima del JPanel. Intenté agregar una pieza creando un objeto JLabel con un icono y agregarlo a JPanel, pero no se ve bien.

public class BoardPanel extends JPanel
{
    public static final int LENGTH = 6;
    private final Color[] COLOR_ARRAY = {Color.decode("#FFFACD"), Color.decode("#593E1A")};

    public BoardPanel() 
    {
        //grid layout 6x6
        setLayout(new GridLayout(LENGTH, LENGTH));
        int numView = 0;
        //tiles color determined by odd/even
        for (int i = 0; i < LENGTH; i++) 
            {
                for (int j = 0; j < LENGTH; j++)
                {
                    add(new TileView(numView, COLOR_ARRAY[j % 2]));
                }

                swap();
            }

    }

    private void swap() {

        Color temp = COLOR_ARRAY[0];
        COLOR_ARRAY[0] = COLOR_ARRAY[1];
        COLOR_ARRAY[1] = temp;
    }
}

¿Hay una clase particular que necesito usar para hacer esto correctamente? tablero predeterminado:

board con una pieza:

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta