Java: ¿Cómo controlar la relación de aspecto de JPanel?

Tengo un JPanel que quiero que permanezca cuadrado; sin embargo, quiero que tenga el tamaño para que ocupe el máximo espacio posible en su JFrame padre pero permanezca cuadrado, es decir, toma el lado más corto del JFrame como ancho cuadrado.

He buscado en la red, revisado todos los administradores de diseño y ninguno parece tener una solución simple para este problema tan simple.

Respuestas a la pregunta(3)

Su respuesta a la pregunta