Center JDialog over parent

Eu tenho um aplicativo Java swing com um botão que produz uma janela pop-up quando uma determinada ação é executada. Gostaria de alinhar o ponto central da janela pop-up com o ponto central da janela pai quando ela for renderizada. Como posso calcular as coordenadas x, y para conectarsetLocation() para a janela pop-up?

Só para esclarecer. Eu não quero o comportamento desetLocationRelativeTo() porque isso define o pixel superior esquerdo do pop-up sobre o pixel central do quadro pai. Eu quero definir o pixel central do pop-up sobre o pixel central do quadro pai.

questionAnswers(5)

yourAnswerToTheQuestion