Centro JDialog sobre padre

Tengo una aplicación Java swing con un botón que produce una ventana emergente cuando se realiza una determinada acción. Me gustaría alinear el punto central de la ventana emergente con el punto central de la ventana principal cuando se procesa. ¿Cómo puedo calcular las coordenadas x, y para conectarsetLocation() para la ventana emergente?

Solo para aclarar. No quiero el comportamiento desetLocationRelativeTo() porque eso establece el píxel superior izquierdo de la ventana emergente sobre el píxel central del marco principal. Quiero establecer el píxel central de la ventana emergente sobre el píxel central del marco principal.

Respuestas a la pregunta(5)

Su respuesta a la pregunta