Hola:
Haz una clase que herede JPanel y redefine el método paint(Graphics). En ese método, borra todo el panel (pintanto un rectángulo relleno que ocupe todo), luego pinta tus cuadros y finalmente llama al método paintComponents(), para que pinte los botones.
Añade los botones con el método add() normal, pero usa un layout null para el panel, de forma que puedas situar el botón con setBounds() en la posición y tamaño que quieras.
Se bueno.
Haz una clase que herede JPanel y redefine el método paint(Graphics). En ese método, borra todo el panel (pintanto un rectángulo relleno que ocupe todo), luego pinta tus cuadros y finalmente llama al método paintComponents(), para que pinte los botones.
Añade los botones con el método add() normal, pero usa un layout null para el panel, de forma que puedas situar el botón con setBounds() en la posición y tamaño que quieras.
Se bueno.