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

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

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

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

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 . По словам Джавадока:

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

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

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

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

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

введите описание изображения здесь

Так просто, как это …

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

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

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

Для уточнения, из документов :

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

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

в свойствах JForm перейдите на вкладку «Код» и настройте «Generate Center». вам нужно сначала установить политику размера формы для «Сгенерировать код изменения размера».

Я использую среду IDE NetBeans 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); 
Давайте будем гением компьютера.