0

我正在 java 上制作类似 MSPaint 的应用程序,但我坚持创建新画布(白色背景 JPanel)

我的代码是这样的:

public void creaLienzo(){
        BufferedImage canvas=new BufferedImage(lienzo.getWidth(),
                lienzo.getHeight(),BufferedImage.TYPE_INT_RGB);
        Graphics2D g2=canvas.createGraphics();
        g2.setBackground(Color.WHITE);
        lienzo.paint(g2);
    }

但是 JPanel 不绘制白色背景。

4

2 回答 2

2

设置背景不是这样做的方法。

由于您只需要一次,请使用:

g2.setColor(Color.WHITE);
g2.fillRect(0, 0, getWidth(), getHeight());
于 2012-05-07T19:51:41.980 回答
0

假设您有一个单独的画布面板,您可以这样做。

 public void addNew(JPanel panel)
 {
   panel.removeAll();
   panel.add(new Canvas());
 }

您可以使用设置 jPanel 的背景颜色

jPanelName.setBackground(Color.white);
于 2012-05-07T23:13:16.177 回答