Überlappendes Zeichnen verhindern?

uepselon

Grünschnabel
Hallo,

ich stelle mein Problem mal etwas exemplarisch dar:

Ich will zwei Rechtecke zeichnen, wobei das zweite Rechteck, das erst etwas überlappt.
Die Reihenfolge des Zeichnens:

1.Rechteck -> g.fill(clip) /mit Farbe rot

2. Rechteck -> fill mit Farbe grün.

Standardmäßig wird das rote Rechteck nun vom grünen überlagert.
Das möchte ich aber nicht, jetzt könnte ich zwar die reihenfolge des Zeichnens ändern, also erst das grüne Rechteck zeichnen, dann das rote. Das kann ich in meinem Fall aber aus technischen Gründen nicht. Das wäre allerdings etwas kompliziert zu erklären.

Kann ich nicht irgendwie mit g.setPaint() paint so setzen, dass ähnlich wie bei g.setXORMode() die Farbe hinter dem gezeichneten, mit berücksichtigt wird, bzw. in meinem Fall, die eigentliche aktuelle Farbe ignoriert?

Gruß,

ueps
 
Wie wäre es mit dieser Idee:
Koordinaten und Größe des ersten Rechtecks merken und das zweite Rechteck dort enden lassen, wo es in das erste Rechteck hineinragen würde.
 
So einfach ist das leider nicht, war ja auch nur ein Beispiel mit den Rechtecken. In meinem Fall handelt es sich um modifizierte 3D Liniengrafiken in der JFreeChart Library. Da kann ein rumfummeln an den x und y Werten, zu einem wochenlangen Akt werden.
 
Zurück