# drawRect



## jan07 (17. Dez 2004)

Hallo,
ich versuche in einem Applet ein mittels drawRect gezeichnetes Rechteck ueber den
Bildschirm bewegen zu lassen.
in paint steht : screen.drawRect(1+x,50,50,50 );
in einem Thread wird jeweils x berechnet und dann repaint() aufgerufen.
Die Ausgabe sieht dann so aus das das Rechteck scheinbar zufaellig hin und wieder mal neu
gezeichnet wird aber nicht nach jedem repaint Aufruf.
Ersetze ich testweise das drawRect durch ein drawString laueft der Text sauber ueber den Bildschirm.
Woran kann das liegen das drawRect nicht jedesmal neu gezeichnet wird und wie kan ich das hinbekommen?

Gruss,
Jan


----------



## L-ectron-X (17. Dez 2004)

Ich würde mir gerne mal den Code anschauen. Kannst Du ihn mal posten?
Kann mir unter dem, was Du beschrieben hast nichts so richtig vorstellen.


----------



## jan07 (17. Dez 2004)

```
import java.awt.Graphics;
 import java.awt.Font;
 import java.util.Date;
 import java.awt.Color;
 import java.util.*;

 public class Test extends java.applet.Applet {
     int x=0;int y=0;
     Thread runner;
     public void init(){
       setBackground(Color.black);
     }

     public void start() {
         if (runner == null) {
             runner = new Thread(new th());
            runner.start();
         }

     }

     public void stop() {
         if (runner != null) {
             runner = null;
        }
    }

     public void paint(Graphics screen) {
         screen.setColor(Color.white);
         screen.drawRect(1+x,50,50,50 );
         // das funktioniert : screen.drawString("blabla" ,x, 50);

     }

    public class th implements Runnable {
     int yz;
     //Random zufallY = new Random();
       public void run() {
          while (true) {
            try {
               Thread.sleep(1000);
            } catch (InterruptedException e) { }
                                 
                  x+=20 ;
                  repaint();
                 System.out.println(x);
        }
     }
     }
}
```


----------



## jan07 (20. Dez 2004)

Habe mir jetzt J2SE 1.5.0 installiert und nun läufts , vorher hat ich 1.4.2, kann mir jemand erklaeren wieso?


----------



## L-ectron-X (20. Dez 2004)

Klatsch! *vor die Stirn hau*
Mist, habe ich doch glatt vergessen, auf Deine Antwort etwas zu schreiben. Großes "Entschuldigung!".
Ich hatte Deinen Code mal kompiliert und getestet, jedoch konnte ich keinen Fehler finden. (Ich benutze auch das PlugIn der Version 1.5) Leider kann ich Dir keine Erklärung für das Verhalten des Applets liefern. ???:L


----------

