Localização ideal para um JDialog modal para evitar preso

Meu aplicativo Swing tem que mostrar um diálogo modal para o usuário. Desculpe por não postar o SSCCE.

topContainer pode serJFrame ouJApplet.

private class NewGameDialog extends JDialog {
     public NewGameDialog () {
         super(SwingUtilities.windowForComponent(topContainer), "NEW GAME", ModalityType.APPLICATION_MODAL);

         //add components here

         getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));

         //TODO:
         setSize(new Dimension(250, 200));
         setLocation(650, 300);
     }
}

Eu começo o diálogo como este no evento de rede

SwingUtilities.invokeLater(new Runnable() {
     @Override
     public void run() {
         NewGameDialog dialog = new NewGameDialog();
         dialog.setVisible(true);
     }
});

O problema é definir a localização ideal para o meu diálogo.

1) Se for definido como valor absoluto e eu mover o quadro do aplicativo para a segunda tela, a caixa de diálogo será mostrada na primeira tela, o que é estranho.

2) Se for definido um valor relativo para JFrame, pode parecer que o usuário moveu o quadro do aplicativo para fora da tela e a caixa de diálogo que está relativamente localizada não seria visível para o usuário. E porque é modal, o jogo ficaria preso.

Qual é a melhor solução considerando duas questões acima mencionadas?