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



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



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

642   11  

11 ответов:

Я всегда делал это таким образом:

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

здесь this задействован JFrame.

использовать setLocationRelativeTo(null)

этот метод имеет специальный эффект, когда вы передаете его в null. В соответствии с документацией:

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

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

frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);

можно назвать JFrame.setLocationRelativeTo(null) в центр окна. Обязательно поставьте это перед JFrame.setVisible(true)

просто нажмите на форму и перейдите к свойствам JFrame, затем перейдите на вкладку Code и проверьте Generate Center.

enter image description here

просто...

setSize(220, 400);
setLocationRelativeTo(null);  

или если вы используете кадр, то установите кадр в

frame.setSize(220, 400);
frame.setLocationRelativeTo(null);  

разъяснить, документы:

если компонент имеет значение null или графическая конфигурация, связанная с этим компонентом, имеет значение null, то окно помещается в центр экрана.

Я использую IDE NetBeans 7.2.1 в качестве среды разработчика, и там у вас есть возможность настроить свойства JForm.

в свойствах JForm перейдите на вкладку " Код "и настройте " создать Центр". сначала вам нужно будет установить политику размера формы для "создания кода изменения размера".

Я использую NetBeans IDE 7.3 и вот как я иду о централизации моего JFrame Убедитесь, что вы нажмете на панель JFrame и перейдите на панель свойств JFrame, нажмите на строку кода и установите флажок создать Центр.

вы получите набор размеров, после добавления этого:

frame.setLocationRelativeTo(null);

Если вы используете NetBeans, просто нажмите на рамку в режиме конструктора, а затем на вкладку " Код " в ее свойствах. Затем установите флажок "создать Центр". Это позволит выполнить работу.

Если вы явно setPreferredSize(new Dimension(X, Y)); тогда лучше использовать:

setLocation(dim.width/2-this.getPreferredSize().width/2, dim.height/2-this.getPreferredSize().height/2);

вы можете использовать этот метод, который позволяет JFrame быть центрированным и полноэкранным одновременно.

yourframe.setExtendedState(JFrame.MAXIMIZED_BOTH);

Comments

    Ничего не найдено.