public class TestProgress extends JFrame{ private JLabel[] steps; public TestProgress() { super("Progress"); this.setSize(400, 800);//the size of the window. this.setVisible(true); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setBackground(Color.green); setLayout(new GridLayout(11, 1)); steps = new JLabel[10]; } public static void main(String[] args) { // TODO Auto-generated method stub TestProgress tp = new TestProgress(); } }为什么背景颜色还是白色的
时间: 2024-01-21 16:01:58 浏览: 61
在 Java Swing 中,设置 JFrame 的背景颜色需要使用 getContentPane() 方法获取到 JFrame 的内容面板,然后再调用 setBackground() 方法设置背景颜色。因此,你需要将 `this.setBackground(Color.green);` 改为 `this.getContentPane().setBackground(Color.green);`,这样才能改变 JFrame 的背景颜色。
修改后的代码如下:
```
public class TestProgress extends JFrame {
private JLabel[] steps;
public TestProgress() {
super("Progress");
this.setSize(400, 800);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.getContentPane().setBackground(Color.green);
setLayout(new GridLayout(11, 1));
steps = new JLabel[10];
}
public static void main(String[] args) {
TestProgress tp = new TestProgress();
}
}
```
这样,你就应该能看到 JFrame 的背景颜色变成了绿色。
阅读全文