为什么我的JPanel背景颜色不会改变?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我的JPanel背景颜色不会改变?相关的知识,希望对你有一定的参考价值。
我一直在尝试将我的JPanel的背景设置为黑色。我可以让我的JButton显示在面板中,但背景仍然不是我设置的黑色。我不确定我做错了什么。
我尝试将框架的背景和所有面板设置为背景颜色为黑色。我已经确定我已将所有内容设置为可见。我也尝试将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个按钮。我试图避免这个问题,但现在它正在让我继续这样做,我不知道是什么导致背景不显示。
答案
您正在从Jframe扩展,因此您需要更改设置颜色的方式
setBackground(Color.BLACK);
这样
getContentPane().setBackground(Color.BLACK);
以上是关于为什么我的JPanel背景颜色不会改变?的主要内容,如果未能解决你的问题,请参考以下文章