如何使用方法绘制面部

时间:2017-07-08 14:48:53

标签: java function methods graphics

我从drawFace功能中抽出一张脸。我想在paint方法中调用该函数,因此它会在我指定的x / y坐标上多次绘制面。

public class smilingfacefunction extends Canvas
{
public void paint(Graphics g)
{
    drawFace(g, 500, 300);
    drawFace(g, 100, 100);
}

public void drawFace (Graphics g, int x, int y)
{

g.setColor(Color.YELLOW);
g.fillOval(100, 100, 100, 100);
g.setColor(Color.BLUE);
g.fillOval(125, 125, 20, 20);
g.fillOval(155, 125, 20, 20);
g.setColor(Color.red);
g.drawArc(125,150,40,40,0,-180);
}


public static void main(String[] args)
{
   JFrame win = new JFrame("Smile");
   win.setSize(700, 700);
   win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   win.add(new smilingfacefunction());
   win.setVisible(true);
}

}

1 个答案:

答案 0 :(得分:1)

您的drawFace方法必须使用xy参数作为从哪里开始绘图的参考点。像这样:

public void drawFace (Graphics g, int x, int y)
{
   g.setColor(Color.YELLOW);
   g.fillOval(x, y, 100, 100);
   g.setColor(Color.BLUE);
   g.fillOval(x + 25, y + 25, 20, 20);
   g.fillOval(x + 55, y + 25, 20, 20);
   g.setColor(Color.red);
   g.drawArc(x + 25, y + 50, 40, 40, 0, -180);
}

现在,您可以微调绘图,以便将元素放置在每个面所需的位置。