JFrame устанавливает местоположение в центре окна на MAC OSX

Любое тело, пожалуйста, можете помочь мне, как центрировать JFrame на Mac. OS X?

Я пытался:

this.setLocationRelativeto(null);

this.setLocationRelativeto(this);
this.setLocationRelativeto(getRootPane());

..а также

    final Toolkit toolkit = Toolkit.getDefaultToolkit();
    final Dimension screenSize = toolkit.getScreenSize();
    final int x = (screenSize.width - this.getWidth()) / 2;
    final int y = (screenSize.height - this.getHeight()) / 2;
    this.setLocation(x, y);

Ничто из вышеперечисленного не сработало, моя рамка все еще находится внизу и скрыта за док-станцией Mac.

1 ответ

Решение

Расположение должно быть установлено после того, как вы упаковали свой кадр (который рассчитывает размер кадра). И после этого его следует сделать видимым (по умолчанию он скрыт).

 pack();
 setLocationRelativeTo(null);
 setVisible(true);
Другие вопросы по тегам