java - 如何使用方法绘制脸部

标签 java function methods graphics

我正在通过drawFace函数绘制脸部1次。我想在 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);
}

}

最佳答案

您的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);
}

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

关于java - 如何使用方法绘制脸部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44987402/

相关文章:

c# - ConfigurationSettings.AppSettings 已过时

cocoa - 如何在 Cocoa 中进行静态初始化

java - 这是一个方法(java)吗?

java - 当使用 = 将一个对象分配给另一个对象时,就会发生复制类型

java - 在 Groovy 中声明函数

java - Java 是 "pass-by-reference"还是 "pass-by-value"?

java - 滚动时如何在recyclerview中保持阴影

java - 是否有任何 Java 库提供随机访问队列实现?

python - 如何获取python中函数内部定义的所有局部变量?

javascript - 如何解释结果(理解js中的let和var)