2017-07-08 71 views
1

我正在從drawFace功能繪製臉部1次。我想在繪畫方法中調用該函數,以便在我指定的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); 
} 

} 
+0

您的'drawFace'函數必須在'x'和'y'參數上進行繪製。你沒有使用它們 – Isac

+0

@Isac我如何使用它們? –

回答

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

現在可以微調圖紙,以便元素放置在你希望他們每個面。

+0

非常感謝大量的幫助。 –