Как установить JFrame для отображения по центру, независимо от разрешения монитора?
во время работы с Java, мне трудно расположить мое главное окно в центре экрана, когда я запускаю приложение.
есть ли способ я могу сделать это?
Это не должно быть вертикально центрировано, горизонтальное выравнивание-более важная цель для меня. Но вертикальное выравнивание также приветствуется.
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)
просто...
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, нажмите на строку кода и установите флажок создать Центр.
Если вы используете 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