首页 > 解决方案 > 为什么我的 JFrame 的背景不会变黑?

问题描述

我正在做一个学校项目,但无法更改背景颜色。由于某种原因,它一直显示为默认的灰色而不是黑色。

import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.awt.event.*;
import java.util.*;
import java.lang.Class;
import java.lang.reflect.*;


//creates PoolTable claa
public class PoolTable extends JPanel implements Runnable, KeyListener, MouseListener, MouseMotionListener
{
    //creates size of the play screen.

    public JFrame myFrame = new JFrame("Pool!");
    private JPanel panel = new JPanel();
    private int gameWidth;
    private int gameHeight;


        public PoolTable()
        {  
            int width = 750;
            int height = 500;    
            myFrame.setTitle("Pool");
            myFrame.getContentPane().setBackground(Color.BLACK);
            myFrame.setSize(width, height);
            myFrame.setResizable(false);
            myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            myFrame.setContentPane(this);
            myFrame.setVisible(true);


        }   


}

标签: javaswingbackgroundjframe

解决方案


您正在用您的替换默认内容窗格。所以更换内容窗格后更改背景颜色。

        myFrame.setContentPane(this);
        myFrame.getContentPane().setBackground(Color.BLACK);

或者做

        this.setBackground(Color.BLACK);

推荐阅读