Advertisement
Sago

Uhrfeld Version Runnable

Apr 10th, 2014
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.50 KB | None | 0 0
  1. import sum.komponenten.*;
  2. import sum.werkzeuge.*;
  3. import sum.ereignis.*;
  4. import java.util.*;
  5. /**
  6.  * @author
  7.  * @version
  8.  */
  9. public class Uhrfeld implements Runnable
  10. {
  11.     private Buntstift stift;
  12.     private int x;
  13.     private int y;
  14.     private int radius;
  15.     private int aktwinkel;
  16.     private int farbe;
  17.     private int verzoegerung;
  18.     private int startwinkel;
  19.     private Thread t;
  20.     /**
  21.      * Konstruktor der Uhr
  22.      * @param x x-Koordinate (Mittelpunkt der Uhr)
  23.      * @param y y-Koordinate (Mittelpunkt der Uhr)
  24.      * @param r Radius der Uhr in Pixeln
  25.      * @param startwinkel Startwinkel der Uhr
  26.      * @param verzoegerung Verzögerung bis sich der Zeiger um 1 Grad bewegt
  27.      */
  28.     public Uhrfeld(int x,int y,int r,int startwinkel,int verzoegerung)
  29.     {
  30.         this.x = x;
  31.         this.y = y;
  32.         this.verzoegerung = verzoegerung;
  33.         radius = r;
  34.         aktwinkel = this.startwinkel = startwinkel;
  35.         stift = new Buntstift();
  36.         t = new Thread(this);
  37.         t.start();
  38.     }
  39.  
  40.     /**
  41.      * Aktuellen Winkel des Zeigers setzen
  42.      * @param w Gewünschter Winkel
  43.      */
  44.     public void setzeWinkel(int w) {
  45.         aktwinkel = w;
  46.         zeichne();
  47.     }
  48.    
  49.     /**
  50.      * zeichne den Zeiger mit den aktuellen Parametern
  51.      */
  52.     public void zeichne() {
  53.         stift.setzeFarbe(farbe);
  54.         stift.hoch();
  55.         stift.setzeLinienBreite(2);
  56.         stift.bewegeBis(x,y);
  57.         stift.dreheBis(-aktwinkel);
  58.         stift.runter();
  59.         stift.bewegeUm(radius);
  60.     }
  61.     /**
  62.      * Setze die Farbe des Zeigers
  63.      */
  64.     public void setzeFarbe(int f) {
  65.         farbe = f;
  66.     }
  67.     /**
  68.      * Hole die Farbe des Zeigers
  69.      */
  70.     public int getFarbe() {
  71.         return farbe;
  72.     }
  73.     /**
  74.      * Implementierung des Interfaces für den Thread durch die run Methode
  75.      */
  76.     public void run() {
  77.         while(true) {
  78.             try {
  79.                 Thread.sleep(verzoegerung);
  80.                 aktwinkel++;
  81.                 // Anfangswinkel setzen
  82.                 if(aktwinkel == (startwinkel+360)) {
  83.                     aktwinkel = startwinkel+1;
  84.                     // Farbwechsel
  85.                     if(farbe == Farbe.BLAU) {
  86.                        setzeFarbe(Farbe.GELB);
  87.                     }
  88.                     else {
  89.                        setzeFarbe(Farbe.BLAU);
  90.                     }
  91.                 }
  92.                 zeichne();
  93.             }
  94.             catch(Exception e) {}
  95.         }
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement