Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.marvin.oopLabor4;
- import java.awt.Graphics;
- import java.awt.event.MouseEvent;
- public class Smiley extends GeometricObject {
- private static final long serialVersionUID = 1L;
- private int counter = 1;
- private mood myMood = mood.HAPPY; // Default Auswahl
- private final int MAXIMALWERTDERGROESSE = 50;
- public Smiley()
- {
- addMouseListener(this);
- }
- enum mood
- {
- HAPPY, SAD, GETRECT
- }
- @Override
- public void mouseClicked(MouseEvent event)
- {
- if (counter == 0) {
- myMood = mood.HAPPY;
- } else if (counter == 1) {
- myMood = mood.SAD;
- } else if (counter == 2) {
- myMood = mood.GETRECT;
- counter = -1;
- }
- counter++;
- repaint();
- }
- @Override
- protected void mySpecialPaint(Graphics g, int kordiX, int KordiY,int size1, int size2)
- {
- if (size1 > MAXIMALWERTDERGROESSE)
- {
- size1 = 29;
- size2 = 28;
- kordiX = 14;
- KordiY = 14;
- }
- switch (myMood)
- {
- case HAPPY:
- g.fillOval(kordiX, KordiY, size1, size2);
- g.fillOval(kordiX - (size1 / 2) + 2, KordiY - 5, size1 / 2,size2 / 2);
- g.fillOval(kordiX + (size1) - 2, KordiY - 5, size1 / 2, size2 / 2);
- g.fillRect(kordiX, KordiY + size1, size1, size2 / 3);
- g.fillRect((int) (kordiX + size1 * 0.8), (int) (KordiY + size1*0.85),size1 / 3, size2 - size2 / 2); // Mundwinkel
- g.fillRect(kordiX, KordiY + size1 - 6, size1 / 3, size2 - size2 / 2); // Mundwinkel
- break;
- case SAD:
- g.fillOval(kordiX, KordiY, size1, size2);
- g.fillOval(kordiX - (size1 / 2) + 2, KordiY - 5, size1 / 2,size2 / 2);
- g.fillOval(kordiX + (size1) - 2, KordiY - 5, size1 / 2, size2 / 2);
- g.fillRect(kordiX, KordiY + size1, size1, size2 / 3);
- g.fillRect(kordiX, KordiY + size1, size1 / 3, size2 - size2 / 2); // Mundwinkel
- g.fillRect((int) (kordiX + size1 * 0.8), KordiY + size1, size1 / 3,size2 - size2 / 2); // Mundwinkel
- break;
- case GETRECT:
- g.fillOval(kordiX, KordiY, size1, size2);
- g.fillOval(kordiX - (size1 / 2) + 2, KordiY - 5, size1 / 2,size2 / 2);
- g.fillOval(kordiX + (size1) - 2, KordiY - 5, size1 / 2, size2 / 2);
- g.fillRect(kordiX, KordiY + size1, size1, size2 / 3);
- g.fillRect((int) (kordiX + size1 * 0.8),(int) (KordiY + size1 * 0.9), size1 / 3, size2 - size2 / 2); // Mundwinkel
- g.fillRect(kordiX, (int) (KordiY + size1 * 0.9), size1 / 3, size2- size2 / 2); // Mundwinkel
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement