¿Cómo puedo poner un control en el JTableHeader de un JTable?

Dado unJTable con una columna de tipoBoolean.class, el renderizador predeterminado es unJCheckBox. Es bastante fácil seleccionar celdas individuales basadas en una selección de usuario, pero también puede ser conveniente seleccionar todas o ninguna de las casillas de verificación. Estasrecient ejemplos mencionado usandoJCheckBox en el encabezado de la tabla, pero la implementación fue incómoda y poco atractiva. Si no necesito ordenar la columna, ¿cómo puedo poner un control de buen comportamiento enJTableHeader?

Addendum: por conveniencia, he agregado mi sscce como unresponde, pero me complacería aceptar una respuesta que aborde la bien portado aspecto del problema.

Respuestas a la pregunta(3)

Su respuesta a la pregunta