У меня есть задание, где мне нужно что-то нарисовать, но для этого мне нужно использовать методы. Как я могу это сделать в JApplet, вот мой код, который я пытаюсь перевернуть к методам, которые я пытаюсь нарисовать тремя лицами, прикрывая руки, глаза и рот.Как использовать методы для рисования на Java?
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
}
}
Я не хочу выполнять вас для вас, поэтому вот подсказка: подумайте о вызове метода, например 'drawFinger (...)', который принимает параметры, чтобы нарисовать общий палец, затем назовите это, чтобы нарисовать определенные пальцы. – jr593