如何在JPanel上创建新画布?

时间:2012-05-07 19:49:07

标签: java swing awt jpanel

我在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没有画出白色背景。

2 个答案:

答案 0 :(得分:2)

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

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

g2.setColor(Color.WHITE);
g2.fillRect(0, 0, getWidth(), getHeight());

答案 1 :(得分:0)

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

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

您可以使用

设置jPanel的背景颜色
jPanelName.setBackground(Color.white);