【问题标题】:How to create a new canvas on JPanel?如何在 JPanel 上创建一个新的画布?
【发布时间】:2012-05-07 19:49:06
【问题描述】:

我正在 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 不绘制白色背景。

【问题讨论】:

  • 如需尽快获得更好的帮助,请发帖SSCCE

标签: java swing awt jpanel


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

    jPanelName.setBackground(Color.white);
    

    【讨论】:

      猜你喜欢
      • 2015-03-16
      • 1970-01-01
      • 2012-08-12
      • 1970-01-01
      • 2015-11-09
      • 2013-12-19
      • 1970-01-01
      • 2012-06-19
      • 2020-09-09
      相关资源
      最近更新 更多