Оптимальное место для модального JDialog, чтобы избежать застревания

Мое приложение Swing должно показывать пользователю модальное диалоговое окно. Извините, что не опубликовал SSCCE.

topContainer возможноJFrame или же .JApplet

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);
     }
}

Я запускаю диалог, как это на сетевом событии

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

Проблема в том, чтобы установить оптимальное расположение для моего диалога.

1) Если оно установлено как абсолютное значение, и я перемещаю фрейм приложения на второй экран, то на первом экране отображается странное диалоговое окно.

2) Если для JFrame установлено относительное значение, может показаться, что пользователь переместил фрейм приложения за пределы экрана, и диалоговое окно, находящееся относительно, не будет видно пользователю. И потому что это модально, игра застрянет.

Как лучше всего решить две вышеупомянутые проблемы?

Ответы на вопрос(4)

Ваш ответ на вопрос