用Java绘制形状

时间:2015-01-09 19:44:46

标签: java graphics2d

我希望有一个绘制矩形的方法,另一个绘制椭圆的方法,另一个绘制线条,图像等。

我尝试过在网上找到的多种技术,但都没有。这是唯一一个没有崩溃的,也是我现在拥有的那个:

    @Override
public void paintComponent(Graphics g){
    super.paintComponents(g);
}

public void DrawRect(int x, int y, int width, int height, Color color){
    Graphics2D g2D = image.createGraphics();
    g2D.setColor(Color.RED);
    g2D.fillRect(x, y, width, height);
    //g2D.dispose();
    //g2D=null;
}

但它并没有真正显示任何东西。

1 个答案:

答案 0 :(得分:1)

  

但它并没有真正展示任何东西

非常自然,您没有将图形上下文链接到绘图功能。这是一个修复:

@Override
public void paintComponent(Graphics g){
    super.paintComponents(g);
    DrawRect(g, 10, 10, 20, 20, Color.blue);
}

private void DrawRect(Graphics g, int x, int y,
     int width, int height, Color color){
    Graphics2D g2D = (Graphics2D) g;
    g2D.setColor(Color.RED);
    g2D.fillRect(x, y, width, height);
    //g2D.dispose();
    //g2D=null;
}

或者,等效地,您可以创建自己myDrawingPanel.createGraphics();的上下文并手动调用该函数(删除graphics参数)

按下按钮时绘制:

1)放一张JPanel来画画。

2)从新类MyPanel extends JPanel制作JPanel对象,并覆盖paint方法。 (或使用匿名类myPanel = new JPanel() { @Override ... })。 提示如果您使用的是NetBeans,则可以在设计师处编辑属性on variable created code

3)单击该按钮时,只需调用myPanel.repaint();重绘

即可