所以我在java中有一个蛇程序,效果很好,但是在我的Frame类中我不能改变JFrame
内容窗格的背景颜色,我使用getContentPane().setBackground(Color.DARK_GRAY);
但它没有用,有什么帮助吗?
这是我的Frame
课程:
package mainpackage;
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JFrame;
public class Frame extends JFrame {
private static final long serialVersionUID = 1L;
public Frame() {
getContentPane().setBackground(Color.BLACK); \\NOT WORKING !!
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Snake by Sarp~");
setResizable(false);
init();
}
public void init() {
setLayout(new GridLayout(1, 1, 0, 0));
Screen s = new Screen();
add(s);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new Frame();
}
}
答案 0 :(得分:1)
setLayout(new GridLayout(1, 1, 0, 0));
使用上面的布局管理器,您添加到框架的任何组件都将完全覆盖内容窗格。
Screen s = new Screen();
add(s);
您可以设置内容窗格的背景,然后将内容窗格中的组件添加到内容窗格中。因此,您将在内容窗格顶部看到Screen
组件的颜色。
将Screen对象的颜色设置为您想要的颜色:
s.setBackground( Color.BLACK );