java - 我一直试图让它从屏幕中央开始
问题描述
这是 JavaSE-11,因为我认为它是 Java 的最新 LTS 版本,并且我使用的是 Eclipse IDE。请有人告诉我如何在运行时将其置于屏幕中央。
package Main;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.WindowConstants;
public class GUI extends JFrame{
protected static final ImageIcon ICON = new ImageIcon("Image.png");
public static void main(String[] args){
new GUI();
}
public GUI(){
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setPreferredSize(new Dimension(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2));
setTitle("GUI");
setIconImage(ICON.getImage());
pack();
setVisible(true);
}
}
解决方案
您可以使用:
frame.setLocationRelativeTo( null );
确定框架大小后。
因此,代码的基本结构应该是:
frame.add(...);
frame.pack();
frame.setLocationRelativeTo( null );
frame.setVisible( true );