drawRect

Status
Nicht offen für weitere Antworten.
J

jan07

Gast
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

Gesperrter Benutzer
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.
 
J

jan07

Gast
Code:
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);
        }
     }
     }
}
 
J

jan07

Gast
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

Gesperrter Benutzer
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
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben