Java swing 设计一个窗口居中
时间: 2024-02-04 09:03:36 浏览: 23
可以通过以下步骤在Java Swing中将窗口居中:
1. 获取屏幕的宽度和高度
```java
int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;
int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
```
2. 获取窗口的宽度和高度
```java
int frameWidth = frame.getSize().width;
int frameHeight = frame.getSize().height;
```
3. 计算窗口的左上角坐标
```java
int x = (screenWidth - frameWidth) / 2;
int y = (screenHeight - frameHeight) / 2;
```
4. 设置窗口的位置
```java
frame.setLocation(x, y);
```
完整代码示例:
```java
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
public class CenteredFrame extends JFrame {
public CenteredFrame() {
setTitle("居中窗口");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setPreferredSize(new Dimension(300, 200));
pack();
center();
setVisible(true);
}
private void center() {
int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;
int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
int frameWidth = getSize().width;
int frameHeight = getSize().height;
int x = (screenWidth - frameWidth) / 2;
int y = (screenHeight - frameHeight) / 2;
setLocation(x, y);
}
public static void main(String[] args) {
new CenteredFrame();
}
}
```