为什么我的JPanel背景颜色不会改变?

时间:2019-04-26 02:00:13

标签: java background jframe jpanel

我一直试图将我的JPanel的背景设为黑色。我可以让我的JButtons出现在面板中,但设置背景时背景仍然不是黑色。我不确定自己在做什么错。

我尝试将框架和所有面板的背景设置为黑色。我确保已将所有内容设置为可见。我还尝试将setOpaque设置为true,这什么也没做,所以我将其删除。

这是我的框架课:

public class GUI extends JFrame{
    public static void main(String[] args) {
        GUI frame = new GUI();
    }

    GUI(){
        setLayout(new BorderLayout());
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(500,500);
        setTitle("Polygon Maker");
        DrawPane buttonPane = new DrawPane(false);
        add("North", buttonPane);
        DrawPane drawPane = new DrawPane(true);
        add("Center", drawPane);
        }
}

这是我的小组课:

    DrawPane() {
        drawPane = false;
        setLayout(new FlowLayout());
        setBackground(Color.BLACK);
        setVisible(true);
    }

    DrawPane(boolean draw) {
        drawPane = draw;
        setLayout(new FlowLayout());
        setBackground(Color.BLACK);
        setVisible(true);
        if (!draw)
            buttonSetup();
        else {
            addMouseListener(new Drawing());
            current = new DrawPoly();

        }

    }

我期望在顶部有3个按钮的空白黑框,但在顶部有3个按钮的空白白框。我试图避免出现此问题,但现在它正在以继续解决的方式解决问题,我不知道是什么原因导致背景不显示。

1 个答案:

答案 0 :(得分:0)

您是从Jframe扩展过来的,因此需要从中更改颜色的设置方式

setBackground(Color.BLACK);

以这种方式

getContentPane().setBackground(Color.BLACK);