# Graphics-Objekt zum teilweise neuzeichen



## Paddy. (28. Jan 2011)

Also folgendes Problem, ich würde gerne eine Zeitanzeige in meinem Programm (lcdui-Canvas) haben.
Also Thread wo der Runteil im Sekunden-Takt die Zeit berechnet.
Da die Berechnung für die restliche Aufbau der Grafik eher komplex ist und eigentlich sich auch nur verändert wenn eine Tasten-Eingabe erfolgt ist, würde ich ungern im Sekunden-Takt ein repaint() auslösen. Oder lässt sich in der Paint-Funktion auslesen, ob man repaint() oder repaint(int,int,int,int) aufrufe?

Gibt es eine andere Möglichkeit???:L ein getGraphics() scheints nicht zu geben 
Ich könnte beim ersten Paint das graphics-Objekt in ein globales speichern und dann nur den winzigen Bereich neuzeichnen.


----------



## Marco13 (28. Jan 2011)

Eigentlich sollte man sich das Rechteck, das man bei repaint(x,y,w,h) angegeben hat, in der paint-Methode dann als sowas wie graphics.getClip() abholen können - hab' das aber ehrlich gesagt noch nie wirkich verwendet, das braucht man wirklich nur, wenn das painten ansonsten SEHR aufwändig ist, und das versucht man ja ohnehin zu vermeiden...


----------



## Paddy. (28. Jan 2011)

ja bisher wird die zeit nur aktualisiert wenn eine Tasteneingabe erfolgt die eh ein repaint auslöst.

Wirklich aufwendig ist das nicht, aber wenn das im Sekunden-Takt mache ist das wohl nicht sinn der Sache.
Ich muss da nur die unteren 20Pixel aktualisieren.
Werde mal gucken was getClip() liefert.

Also man ruft 

```
repaint(a,b,c,d);
g.getClipX(); //liefert a
g.getClipY(); // liefert b
g.getClipWidth(); // liefert c
g.getClipHeight(): //liefert d
```

:toll:


----------

