LocationRelativeTo(JAVA)正在失败
我经常使用:LocationRelativeTo(JAVA)正在失败,java,swing,jframe,Java,Swing,Jframe,我经常使用: setLocationRelativeTo(null); 在我的JFrror构造函数中,P>使帧出现在中间,但是现在它不能正常工作。它只是把JFrame放在一个角落里 如果你知道会发生什么,或者如果你现在有另一种方法总是让Jframe出现在任何计算机的中间,请告诉我 我这样说是因为我可以 setLocation(x,y); 只要把坐标放在我的屏幕的中心,但是,例如,如果我的电脑是1920 x 1080,那么在1280 x 720的电脑中,Jframe不会出现在中心 如果我错了,
setLocationRelativeTo(null);
在我的JFrror构造函数中,P>使帧出现在中间,但是现在它不能正常工作。它只是把JFrame放在一个角落里
如果你知道会发生什么,或者如果你现在有另一种方法总是让Jframe出现在任何计算机的中间,请告诉我
我这样说是因为我可以
setLocation(x,y);
只要把坐标放在我的屏幕的中心,但是,例如,如果我的电脑是1920 x 1080,那么在1280 x 720的电脑中,Jframe不会出现在中心
如果我错了,请纠正我,我是Java新手,所以我会错过很多比尔·盖茨不会错过的东西。(我现在windows不是用Java编码的)作为参考,这里有一个正确运行的示例;您可以将其与当前的方法进行比较。特别是,
- Swing GUI对象应仅在上构造和操作
- 确保
pack()
- 调用
作为创建GUI的最后一步setVisible(true)
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
/** @see https://stackoverflow.com/a/29643591/230513 */
public class Test {
private void display() {
JFrame f = new JFrame("Test");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new JLabel("Test", JLabel.CENTER));
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
new Test().display();
});
}
}