java窗口的背景颜色

怎么这个程序改变不了背景颜色就这个程序
2024-12-29 04:27:43
推荐回答(3个)
回答1:

public void setBackground(Color c)设置组件的背景色。
背景色对每个组件的影响各不相同,并且部分受背景色影响的组件在不同的操作系统之间可能有所不同。

用这个方法嘛,改变不了,可能是你在窗体上添加了别的容器什么的把当前要改变的给挡上了.仔细排查一下,相信你会改过来的.

回答2:

可以利用color的setBackground方法来进行窗口颜色设定。
class SimpleChangePanel extends JPanel implements ActionListener {

private JButton yellowButton;

public SimpleChangePanel() {
yellowButton = new JButton("Yellow");
add(yellowButton);
yellowButton.addActionListener(this);
}

public void actionPerformed(ActionEvent evt) {
Color color = Color.yellow;
setBackground(color);
repaint();
}
}

回答3:

因为JFrame窗口,其实从下到上分为好几层:RootPane LayeredPane ContentPane GlassPane
其中最上面的GlassPane是透明的。所以设置背景色,需要设置在ContentPane上才能显示。