我试图将JFrame框架设置为背景颜色,但它无法正常工作。 我在这里错过了什么? 这是代码:
public class PingPong extends JPanel{
private static final long serialVersionUID = 1L;
Ball ball = new Ball(this);
Table table = new Table(this);
Player player = new Player(this);
PC pc = new PC(this);
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
table.paint(g);
ball.repaint(g);
player.repaint(g);
pc.repaint(g);
}
public static void main(String[] args){
/* Creating the frame */
JFrame frame = new JFrame();
frame.setTitle("Ping Pong!");
frame.setSize(600, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new PingPong());
frame.getContentPane().setBackground(Color.DARK_GRAY);
frame.setVisible(true);
}
}
它只是不会改变颜色..
答案 0 :(得分:2)
由于您向JPanel
添加了JFrame
(PingPong对象),JPanel
已超过JFrame
,因此JFrame
的颜色变为不可见。
将setBackground(Color.DARK_GRAY);
应用于您的PingPong对象。
答案 1 :(得分:0)
尝试添加:
frame.getContentPane().setOpaque(true);