Ich habe eine Aufgabe, wo ich etwas zeichnen muss, aber dafür muss ich Methoden anwenden. Wie würde ich das in JApplet tun? Hier ist mein Code Ich versuche, mich Methoden zuzuwenden, die ich versuche, drei Gesichter mit den Händen zu zeichnen, die Ohren, Augen und Mund bedecken.Wie man Methoden verwendet, um in Java zu zeichnen?
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
}
}
Ich möchte nicht, dass Sie Aufgabe für Sie tun, so Hier ist ein Hinweis: Denken Sie daran, eine Methode aufgerufen zu haben, zum Beispiel 'drawFinger (...)', die Parameter annimmt, um einen generischen Finger zu zeichnen, und dann diesen Aufruf aufruft, um bestimmte Finger zu zeichnen. – jr593