将窗口边框自定义设计成白色简约风格
时间: 2024-04-16 07:27:12 浏览: 15
要将窗口边框设计成白色简约风格,你可以使用 `setUndecorated(true)` 方法将窗口的默认边框样式移除,然后自己绘制一个白色的边框。以下是一个示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class CustomBorder extends JFrame {
private int mouseX, mouseY;
public CustomBorder() {
setUndecorated(true); // 移除默认边框样式
setSize(400, 300);
setLocationRelativeTo(null); // 居中显示
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
mouseX = e.getX();
mouseY = e.getY();
}
});
addMouseMotionListener(new MouseAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
int x = e.getXOnScreen() - mouseX;
int y = e.getYOnScreen() - mouseY;
setLocation(x, y);
}
});
setVisible(true);
}
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.WHITE);
g2.setStroke(new BasicStroke(3));
g2.drawRect(0, 0, getWidth() - 1, getHeight() - 1);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
new CustomBorder();
});
}
}
```
在这个示例中,我们使用了 `setUndecorated(true)` 方法来移除默认边框样式,并且重写了 `paint()` 方法来绘制白色的边框。通过添加鼠标事件监听器,我们还实现了拖动窗口的功能。
希望这个示例能帮助到你!