2016-04-12 53 views
0

Bir şey çizmek zorunda olduğum bir ödevim var ama bunu yapmak için yöntemleri kullanmam gerekiyor. Bunu JApplet'de nasıl yapabilirim? İşte benim kodum. Yöntemlere dönmeye çalışıyorum. Kulaklarını, gözlerini ve ağzını kaplayan elleriyle üç yüz çizmeye çalışıyorum.Java Beraberlik Yardım Yöntemleri Nasıl Kullanılır?

import javax.swing.JApplet; 
import java.awt.Graphics; 

public class HappyFace extends JApplet { 
int xOffSetOfFace = 100; 
int xOffSetOfEyes = 150; 
int xPos = 300; 
int yPosOfFace = 300; 
int yPosOfEye = 350; 
int heightOfEyes = 25; 
int widthOfEyes = 25; 
int height = 200; 
int width = 200; 
int xOffSetOfMouth = 160; 
int yOffSetOfMouth = 420; 
int widthOfMouth = 110; 
int heightOfMouth = 50; 
int startArcOfMouth = 180; 
int endArcOfMouth = 180; 
int xOffSetOfEar = 80; 
int yPosOfEar = 278; 
int heightOfEar = 68; 
int widthOfEar = 50; 
int dxHandHear = 175; 
int dyHandHear = 175; 
int arcWidth = 12; 
int arcHeight = 42; 
int arcStart = 90; 
int arcEndOne = 150; 
int arcEndTwo = -120; 

public void paint(Graphics canvas) { 
    super.paint(canvas); 
    for (int i = 0; i < 3; i++) { 
    canvas.drawOval((xOffSetOfFace) + (xPos * i), yPosOfFace, width, height); //draws Face 
    canvas.fillOval((xOffSetOfEyes) + (xPos * i), yPosOfEye, widthOfEyes, heightOfEyes); //draws eye1 
    canvas.fillOval((xOffSetOfEyes) + (xPos * i) + 90, yPosOfEye, widthOfEyes, heightOfEyes); //draws eye2 
    canvas.drawArc((xOffSetOfMouth) + (xPos * i), yOffSetOfMouth, widthOfMouth, heightOfMouth, startArcOfMouth, 
    endArcOfMouth); //draws mouth 
    canvas.drawOval((xOffSetOfEar) + (xPos * i), yPosOfEar, widthOfEar, heightOfEar); //draws leftmost ears 
    canvas.drawOval((xOffSetOfEar) + (xPos * i) + 190, yPosOfEar, widthOfEar, heightOfEar); //draws right most ears 

    } 


    canvas.fillOval(85, 350, 45, 25); //draws palm 
    canvas.fillArc(87, 335, arcWidth, arcHeight, arcStart, arcEndOne); //draws finger1 
    canvas.fillArc(87, 335, 12, 42, 90, -120); //draws finger1 
    canvas.fillArc(105, 330, 12, 42, 90, 150); //draws finger2 
    canvas.fillArc(105, 330, 12, 42, 90, -120); //draws finger2 
    canvas.fillArc(117, 335, 12, 42, 90, 150); //draws finger3 
    canvas.fillArc(117, 335, 12, 42, 90, -120); //draws finger3 
    //sep 
    canvas.fillOval(85 + dxHandHear, 350, 45, 25); //draws palm 
    canvas.fillArc(87 + dxHandHear, 335, 12, 42, 90, 150); //draws finger1 
    canvas.fillArc(87 + dxHandHear, 335, 12, 42, 90, -120); //draws finger1 
    canvas.fillArc(105 + dxHandHear, 330, 12, 42, 90, 150); //draws finger2 
    canvas.fillArc(105 + dxHandHear, 330, 12, 42, 90, -120); //draws finger2 
    canvas.fillArc(117 + dxHandHear, 335, 12, 42, 90, 150); //draws finger3 
    canvas.fillArc(117 + dxHandHear, 335, 12, 42, 90, -120); //draws finger3 

    canvas.fillOval((85 + dxHandHear) * 2, 350, 45, 25); //draws palm 
    canvas.fillArc((87 + dxHandHear) * 2, 335, 12, 42, 90, 150); //draws finger1 
    canvas.fillArc((87 + dxHandHear) * 2, 335, 12, 42, 90, -120); //draws finger1 
    canvas.fillArc((95 + dxHandHear) * 2, 330, 12, 42, 90, 150); //draws finger2 
    canvas.fillArc((95 + dxHandHear) * 2, 330, 12, 42, 90, -120); //draws finger2 
    canvas.fillArc((102 + dxHandHear) * 2, 335, 12, 42, 90, 150); //draws finger3 
    canvas.fillArc((102 + dxHandHear) * 2, 335, 12, 42, 90, -120); //draws finger3 

    canvas.fillOval(((85 + dxHandHear) * 2) - 90, 350, 45, 25); //draws palm 
    canvas.fillArc(((87 + dxHandHear) * 2) - 90, 335, 12, 42, 90, 150); //draws finger1 
    canvas.fillArc(((87 + dxHandHear) * 2) - 90, 335, 12, 42, 90, -120); //draws finger1 
    canvas.fillArc(((95 + dxHandHear) * 2) - 90, 330, 12, 42, 90, 150); //draws finger2 
    canvas.fillArc(((95 + dxHandHear) * 2) - 90, 330, 12, 42, 90, -120); //draws finger2 
    canvas.fillArc(((102 + dxHandHear) * 2) - 90, 335, 12, 42, 90, 150); //draws finger3 
    canvas.fillArc(((102 + dxHandHear) * 2) - 90, 335, 12, 42, 90, -120); //draws finger3 

    canvas.fillOval(((85 + dxHandHear) * 3) - 25, 350 + 110, 45, 25); //draws palm 
    canvas.fillArc(((87 + dxHandHear) * 3) - 30, 335 + 110, 12, 42, 90, 150); //draws finger1 
    canvas.fillArc(((87 + dxHandHear) * 3) - 30, 335 + 110, 12, 42, 90, -120); //draws finger1 
    canvas.fillArc(((95 + dxHandHear) * 3) - 35, 330 + 110, 12, 42, 90, 150); //draws finger2 
    canvas.fillArc(((95 + dxHandHear) * 3) - 35, 330 + 110, 12, 42, 90, -120); //draws finger2 
    canvas.fillArc(((102 + dxHandHear) * 3) - 45, 335 + 110, 12, 42, 90, 150); //draws finger3 
    canvas.fillArc(((102 + dxHandHear) * 3) - 45, 335 + 110, 12, 42, 90, -120); //draws finger3 

    canvas.fillOval(((85 + dxHandHear) * 3) + 30, 350 + 110, 45, 25); //draws palm 
    canvas.fillArc(((87 + dxHandHear) * 3) + 25, 335 + 110, 12, 42, 90, 150); //draws finger1 
    canvas.fillArc(((87 + dxHandHear) * 3) + 25, 335 + 110, 12, 42, 90, -120); //draws finger1 
    canvas.fillArc(((95 + dxHandHear) * 3) + 20, 330 + 110, 12, 42, 90, 150); //draws finger2 
    canvas.fillArc(((95 + dxHandHear) * 3) + 20, 330 + 110, 12, 42, 90, -120); //draws finger2 
    canvas.fillArc(((102 + dxHandHear) * 3) + 10, 335 + 110, 12, 42, 90, 150); //draws finger3 
    canvas.fillArc(((102 + dxHandHear) * 3) + 10, 335 + 110, 12, 42, 90, -120); //draws finger3 

} 
} 
+0

Sizin için ödevlerinizi yapmak istemiyorum. Burada bir ipucu: Örneğin, "genel bir parmak çizmek için parametreleri alan drawFinger (...)" adlı bir yönteme sahip olmayı düşünün, ardından belirli parmakları çizmek için bunu arayın. – jr593

cevap

0

ellerini

çizmek Ya elle yani

int[] finger1 = [87+dxHandHear, 335, 12, 42, 90, 150]; 

için tüm bilgi tutan bir sınıf oluşturmak için int değerler dizisi bir el çeker ve alır bir yöntem oluşturmak Daha sonra elin çizildiği yöntemde, bir elden geçirilir. Nesne

private void drawHand(Hand h) { 
    canvas.fillArc(h.getFinger1()[0], h.getFinger1()[1], h.getFinger1()[2], h.getFinger1()[3], h.getFinger1()[4], h.getFinger1()[5]); //draws finger1 
    ..... 
}