# Schräges Rechteck in Swing?



## Casp (23. Mai 2005)

Wir sollten für unser GUI ein Rechteck zeichnen, welches "schräg" (diagonal) liegt. Bisher haben wir in Swing keine Möglichkeit entdeckt um dies zu tun.

Gibt es da irgend eine Lösung? Oder muss man mit Alternativen arbeiten?

Erschwerend müssten wir noch einen Mousclick abfragen. Das ganze muss also ein Objekt sein, dem wir einen Listener zuweisen können.

Irgendwelche Ideen?

Thanx!


----------



## thE_29 (23. Mai 2005)

Wie wärs mit 4 Linien??

Nur so ein Vorschlag


----------



## Roar (23. Mai 2005)

jo, 4 linien auf einem (J)Panel, auf das du auch nen mouelistener kloppen kannst


----------



## Casp (23. Mai 2005)

Wir müssen das Rechteck mit Farbe ausfüllen können. Wenn wir vier Linien verwenden, dann geht das nicht (oder?).


----------



## raffnix (23. Mai 2005)

Du kannst mit AffineTransform#rotate() ein graphics objekt nach einem bestimmten winkel rotieren lassen.
Wenn du dies auf Rectangle anwendest hast du ein gedrehtes Rechteck.

Einem Rechteck einen Listener hinzufügen??? wieso?
auf mausclicks die in dem Rechteck sind kannst du mit contains(p.x,p.y) reagieren.


----------



## Wildcard (23. Mai 2005)

raffnix hat gesagt.:
			
		

> Einem Rechteck einen Listener hinzufügen??? wieso?
> auf mausclicks die in dem Rechteck sind kannst du mit contains(p.x,p.y) reagieren.


Nicht wenn es gedreht ist...


----------



## Casp (23. Mai 2005)

Danke! Das sollte klappen!  

Die Klasse ist in awt gibt es die auch in Swing oder kann man die von awt aus auf swing Objekte anwenden?  Komm mir grad einwenig blöd vor...


----------



## Wildcard (23. Mai 2005)

Einfach paintComponent überschreiben und dann das Graphics Objekt auf Graphics2D casten. 

```
Graphics2D g2d = (Graphics2D)g;
```
Damit kannst du dann drehen...


----------

