Point2D ist eine abstrakte Klasse - das sind so Kleinigkeiten, die man im Forum so nicht sieht und die einem die Entwicklungsumgebung sagen dürfte.
Du solltest einmal schauen, ob Du alle Point2D durch Point ersetzen kannst. MouseEvent.getPoint gibt auch einen Point zurück so dass Point überall funktionieren sollte (so ich jetzt nichts übersehen habe). Dann entfällt auch das Umwandeln von Double zu int.
Ansonsten fallen zwei Dinge auf:
a) Wie ruft man Methoden auf? transform1 ist bei dir der Transform Parameter. Da macht also ein transform1(..) schlicht keinen Sinn.
b) Du gibst dem DrawingPanel nur das drawing und nicht das Transform. Und du nutzt das Transform, um das drawing zu ändern.
Wenn das Transform aber doch nur dazu dient, dass die Darstellung unterschiedlich ist, dann darfst Du das eigentliche Drawing nicht anpassen.
Also visueller Vergleich:
An der Wand hängt ein toller Van Gogh (Nehmen wir einfach sein Selbstbildnis von 1887). Nun wollen da viele Fotos von haben. Kein Thema - man nimmt sein Smartphone und macht ein Foto. Soweit so gut.
Nun haben wir aber zwei Gruppen von Menschen:
a) Man will einfach ein Foto haben, so wie das Gemälde halt bei "normalem" Licht aussieht
b) Diese Gruppe will einen ganz massiven Blaustich.
Was macht man also? Man macht ein normales Foto und dann - auf dem Smartphone - wird das Bild transformiert. Gruppe a macht bei der Transformation einfach nichts. Gruppe B verändert das Bild im Smartphone mit entsprechenden Farbfiltern.
Aber es ist doch klar:
- Niemand verändert das Gemälde! Also kein Farbeimer mit blauer Farbe wird über das Gemälde geschüttet!
- Und ist doch auch klar: Sowas würde dafür sorgen, dass Gruppe A kein "normales" Foto mehr machen könnte. Die hätten dann ja auch ein blaues Gemäöde.
Also:
- Das Gemälde (Drawing) selbst wird nicht mit Farbe besprüht (dein Transform verändert Dein Drawing nicht!)
- Lediglich bei der Darstellung wird das entsprechend anders angezeigt.