无法更改 JFrame ContentPane 的背景颜色
Cannot change the background color of JFrame ContentPane
所以我在 java 中有一个 snake 程序,运行完美,但是在我的框架 class 中,我无法更改 JFrame
内容窗格的背景颜色,我使用getContentPane().setBackground(Color.DARK_GRAY);
但它不起作用,有什么帮助吗?
这是我的 Frame
class:
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();
}
}
setLayout(new GridLayout(1, 1, 0, 0));
使用上述布局管理器,您添加到框架的任何组件都将完全覆盖内容窗格。
Screen s = new Screen();
add(s);
您可以设置内容窗格的背景,然后向内容窗格添加一个组件。因此,您将在内容窗格顶部看到 Screen
组件的颜色。
将 Screen 对象的颜色设置为您想要的任何颜色:
s.setBackground( Color.BLACK );
所以我在 java 中有一个 snake 程序,运行完美,但是在我的框架 class 中,我无法更改 JFrame
内容窗格的背景颜色,我使用getContentPane().setBackground(Color.DARK_GRAY);
但它不起作用,有什么帮助吗?
这是我的 Frame
class:
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();
}
}
setLayout(new GridLayout(1, 1, 0, 0));
使用上述布局管理器,您添加到框架的任何组件都将完全覆盖内容窗格。
Screen s = new Screen();
add(s);
您可以设置内容窗格的背景,然后向内容窗格添加一个组件。因此,您将在内容窗格顶部看到 Screen
组件的颜色。
将 Screen 对象的颜色设置为您想要的任何颜色:
s.setBackground( Color.BLACK );