# Paint mit Graphics2D?



## Guest (15. Sep 2005)

Kann das sein das die awt-paint() Methode grundsätzlich bei einem repaint immer mit einem Graphics2D
Objekt als Parameter aufgerufen wird?

Habe nämlich dies mal so programmiert und er hatte kein Probleme damit.


```
public void paint(Graphics g)
{
Graphics2D g2D = (Graphics2D) g;

g2D.rotate(.....);
......

}
```
Das kam mir nämlich ein bischen komisch vor,
da er ja eigentlich eine Exception schmeißen müsste wenn der dynamische Typ von g auch Graphics wäre.




Helft mir bitte...[/code]


----------



## Beni (15. Sep 2005)

In der Standard-Lib wird immer Graphics2D verwendet. Das Graphics ist noch so ein Überbleibsel aus früheren Zeiten das man aufgrund der Abwärtskompatibilität nicht mehr entfernen kann.


----------



## Guest (15. Sep 2005)

Ok danke, wie ich´s also vermutet habe.


----------



## na-oma (15. Sep 2005)

da doch Graphics2D von Graphics erbt, sollte man auch gleich schreiben können:

public void paint(Graphics2D g) {
	}

dann is der cast unnötig und der code schöner, das is das schöne an oop


----------



## Roar (15. Sep 2005)

nein, kann man nicht, da dann die paint methode nicht aufgerufen wird


----------



## na-oma (20. Sep 2005)

klar...hast recht, war dumm von mir...wär aber cool, wenn


----------



## Guest (6. Okt 2005)

Beni hat gesagt.:
			
		

> In der Standard-Lib wird immer Graphics2D verwendet. Das Graphics ist noch so ein Überbleibsel aus früheren Zeiten das man aufgrund der Abwärtskompatibilität nicht mehr entfernen kann.



Habe gerade gesehen das Graphics eh abstract deklariert wurde, deswegen hätte es ja gar nicht gehen können.


----------



## Roar (6. Okt 2005)

Anonymous hat gesagt.:
			
		

> Beni hat gesagt.:
> 
> 
> 
> ...


graphics2d ist auch abstrakt 
im endeffekt wird eh eine irgendwo versteckte implementierung (sun.java2d.SunGraphics2D) zurückgegeben.


----------



## Guest (8. Okt 2005)

aso ok....

Habe mal eine Frage...
Wie kann ich selber Events werfern???


----------

