setBorder(border);报错 Cannot resolve method 'setBorder' in 'CustomBorder
时间: 2024-01-17 11:03:58 浏览: 136
setborder-开源
非常抱歉,我之前的回答有误。在 JFrame 类中确实没有 `setBorder` 方法。如果你想要自定义窗口的边框,可以使用 `getRootPane().setBorder()` 方法。以下是修正后的代码:
```java
import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
public class CustomWindow extends JFrame {
public CustomWindow() {
setSize(400, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setUndecorated(true); // 去掉窗口边框默认样式
// 创建一个白色的边框
LineBorder border = new LineBorder(Color.WHITE);
// 应用边框到窗口
getRootPane().setBorder(border);
getContentPane().setBackground(Color.WHITE); // 设置窗口背景色为白色
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
CustomWindow window = new CustomWindow();
});
}
}
```
在这个示例中,我们使用 `getRootPane().setBorder(border)` 将自定义的边框应用到窗口中。`getRootPane()` 方法可以获取 JFrame 的根面板,然后我们调用 `setBorder(border)` 将边框应用到根面板上。
希望这个修正后的代码能解决你的问题!
阅读全文