📜  jframe centerlaized - Java (1)

📅  最后修改于: 2023-12-03 15:02:07.912000             🧑  作者: Mango

JFrame居中 - Java

在Java中,JFrame是一个常用的窗口组件,它允许我们创建一个图形化界面(GUI)。通常情况下,我们需要让JFrame在窗口中垂直和水平居中显示,以适应各种屏幕尺寸和分辨率。

居中的方法

下面是让JFrame在窗口中居中显示的几种方法:

方法一:使用Toolkit类
import java.awt.Dimension;
import java.awt.Toolkit;

public class MyFrame extends JFrame {
    public MyFrame() {
        //获取屏幕大小
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        //设置窗口大小
        setSize(300, 200);
        //设置窗口居中
        setLocation((screenSize.width - getWidth()) / 2, (screenSize.height - getHeight()) / 2);
        //设置其他属性
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("居中窗口");
        setVisible(true);
    }
}
方法二:使用GraphicsEnvironment类
import java.awt.Dimension;
import java.awt.GraphicsEnvironment;

public class MyFrame extends JFrame {
    public MyFrame() {
        //获取GraphicsEnvironment对象
        GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
        //获取屏幕大小
        Dimension screenSize = env.getMaximumWindowBounds().getSize();
        //设置窗口大小
        setSize(300, 200);
        //设置窗口居中
        setLocation((screenSize.width - getWidth()) / 2, (screenSize.height - getHeight()) / 2);
        //设置其他属性
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("居中窗口");
        setVisible(true);
    }
}
方法三:使用屏幕分辨率
import java.awt.Dimension;
import java.awt.Toolkit;

public class MyFrame extends JFrame {
    public MyFrame() {
        //获取屏幕分辨率
        int width = Toolkit.getDefaultToolkit().getScreenSize().width;
        int height = Toolkit.getDefaultToolkit().getScreenSize().height;
        //设置窗口大小
        setSize(300, 200);
        //设置窗口居中
        setLocation((width - getWidth()) / 2, (height - getHeight()) / 2);
        //设置其他属性
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("居中窗口");
        setVisible(true);
    }
}
注意事项
  1. 在使用方法一和方法三时,必须在设置窗口大小后再进行居中。
  2. 在使用方法二时,需要在设置完窗口大小后调用getMaximumWindowBounds()方法,获取到的尺寸才是准确的。
结论

无论使用哪种方法,都可以实现JFrame窗口的居中显示。这些方法的本质都是通过计算窗口位置,使其达到居中的效果。在实际应用中,我们可以根据具体需求选择适合自己的方法。