"flackern"

Status
Nicht offen für weitere Antworten.

michael06

Mitglied
Guten Abend.
Ich zeichne mit dem Graphicsobjekt in einer for-Schleife, welche sich in einem TimerTask leicht verändert immer wiederholt, genau einmal pro Sekunde. Jetzt ist mir aufgefallen, dass dabei ein ständiges "ruckeln/ flackern" zu sehen ist. Weiss jemand woran das liegt ? Danke im Voraus uns schönes wochenende. LG Michael
 

javimka

Top Contributor
rufst du irgendwo getGraphics() auf? Wenn ja, musst du das loswerden. Überschreibe die paintComponent(Graphics g) dafür.
 

michael06

Mitglied
tt = new TimerTask(){
public void run(){
Graphics g2 = getGraphics();
g2.setClip(10,40,290,240);
g2.setColor(Color.lightGray);
g2.fillOval(a,b,d+5,d+5);
g2.setColor(Color.black);
g2.drawOval(a,b,d,d);

for (i = 0;i <= 360; i = i + 30){
secx = Math.round(Math.cos (i * Math.PI/180)* r);
secy = Math.round(Math.sin (i * Math.PI/180)* r);
String xx = df.format(secx - 2);
String yy = df.format(secy - 2);
u = Integer.parseInt(xx);
v = Integer.parseInt(yy);
g2.setColor(Color.black);
g2.fillOval(a+r+u,b+r+v,5,5);
}

Ist ein Stück, aber da kommt nix anderes Bedeutsames mehr.
 

michael06

Mitglied
In der for Schleife werden kleine Kreise auf einen Durchmesser gemalt. Ist ne Uhr, welche auch funzt, aber halt "wackelt".
 

Marco13

Top Contributor
getGraphics auf Components ist böse. Verwende den TimerTask, um einen Sekundenzähler hochzuzählen, rufe ann repaint() auf, und zeichne dann den aktuellen Zustand in der paint-Methode (ggf. double-buffered, da AWT - warum eigentlich?)
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben