Как установить JFrame для появления центрируемым, независимо от разрешения монитора?

При работе с Java мне трудно расположить мое главное окно в центр экрана, когда я запускаю приложение.

Есть ли какой-либо способ, которым я могу сделать это? Это не должно вертикально центрироваться, выравнивание по горизонтали является более важной целью для меня. Но выравнивание по вертикали также приветствуется.

188
задан Francesco Menzani 31 August 2015 в 03:49
поделиться

3 ответа

Я всегда делал это так:

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2);

где это - задействованный JFrame.

221
ответ дан 23 November 2019 в 05:40
поделиться

Вы можете вызвать JFrame.setLocationRelativeTo (null) , чтобы центрировать окно. Убедитесь, что вы поставили это перед JFrame.setVisible (true)

53
ответ дан 23 November 2019 в 05:40
поделиться

Используйте setLocationRelativeTo (null)

Этот метод имеет особый эффект, когда вы передаете ему null . Согласно Javadoc:

Если компонент имеет значение NULL или GraphicsConfiguration, связанный с этим компонентом, имеет значение NULL, окно помещается в центр экрана.

Это должно быть сделано после установки размера или вызова pack () , но перед тем, как сделать его видимым, например:

frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
505
ответ дан 23 November 2019 в 05:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: