Cómo tener JPanel Plegable / Expandible en Java Swing

Quiero un JPanel que pueda contraerse o expandirse cuando el usuario haga clic en un texto / icono en su borde. Necesito este tipo de panel debido a la falta de espacio en mi aplicación.

Leí sobre la clase CollapsiblePanel pero no estoy seguro de cómo usarla ... Creo que SwingX es necesario para descargar, pero no lo encontré en ninguna parte.

Además, sería mejor si obtuviera la solución a esto en Java Swing básico.

Respuestas a la pregunta(3)

Su respuesta a la pregunta