Java2d:JPanel设置背景颜色不起作用

时间:2010-05-14 00:53:39

标签: java graphics java-2d

我有以下代码:

public VizCanvas(){
    {
        this.setBackground(Color.black);
        this.setSize(400,400);
    }
}

工作正常,并在黑色背景下显示面板。但是当我实现paint方法时,颜色会变为默认颜色,即灰色。

我尝试设置graphics.setColor()但它没有帮助。

2 个答案:

答案 0 :(得分:9)

您需要在绘画方法中将画布填充到背景颜色中。有点像:

g.setColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());

之后,画出你需要的东西。在做任何事情之前,你也可以尝试在paint方法中调用super.paint(g)

答案 1 :(得分:2)

自定义绘制应该通过覆盖paintComponent()方法来完成,而不是paint()方法。然后你要做的就是调用super.paintComponent()来绘制背景。

设置组件的大小不起作用。布局管理器将覆盖大小。您应该设置首选大小或覆盖getPreferredSize()方法。

阅读Swing tutorial了解Swing基础知识。有关于“自定义绘画”和“使用布局管理器”的部分。