G
Gast
Gast
Hi,
habe per google und Suche zwar sehr ähnliche Sachen gefunden, doch leider nichts, was mir in meinem Fall konkret weiter helfen würde.
Folgende Situation:
Ich habe einen Hauptframe, indem dem eine Zeichenfläche positioniert ist (Subklasse von JPanel).
Weiterhin habe ich ein zentrales Datenmodell. Dies ist prinzipiell nichts weiter als eine Liste mit einer bestimmten Anzahl von Objekten in ihr. Jedes Objekt hat als Parameter Koordinaten. Auf der Zeichenfläche soll jedes Objekt der Liste an den entsprechenden Koordinaten gezeichnet werden. Die Zeichnungen der einzelnen Objekte, kann ich mit der Maus per Drag and Drop verschieben, wobei sich die Parameter des Objekten (d.h. die Koordinaten) entsprechend ändern.
So, nun zum Problem: Bisher habe ich in meiner Subklasse von JPanel eine Paint Methode, die halt MVC konform bei einer Änderung des Modells neu zeichnet. Dazu ruft die paint Methode der Zeichenfläche die paint Methoden der einzelnen Objekte auf und übergibt die Referenz auf das Graphics Objekt. Das hat aber einen entscheidenden Nachteil. Auch die nicht verschobenen Objekte werden immer neu gezeichnet was vor allem beim Draggen eines einzelnen Objektes nicht schön ist.
Wie kann ich erreichen das das einzelne Objekt neugezeichnet wird. Hat jemand eine Idee? Irgendwie fehlt mir da der Ansatz.
habe per google und Suche zwar sehr ähnliche Sachen gefunden, doch leider nichts, was mir in meinem Fall konkret weiter helfen würde.
Folgende Situation:
Ich habe einen Hauptframe, indem dem eine Zeichenfläche positioniert ist (Subklasse von JPanel).
Weiterhin habe ich ein zentrales Datenmodell. Dies ist prinzipiell nichts weiter als eine Liste mit einer bestimmten Anzahl von Objekten in ihr. Jedes Objekt hat als Parameter Koordinaten. Auf der Zeichenfläche soll jedes Objekt der Liste an den entsprechenden Koordinaten gezeichnet werden. Die Zeichnungen der einzelnen Objekte, kann ich mit der Maus per Drag and Drop verschieben, wobei sich die Parameter des Objekten (d.h. die Koordinaten) entsprechend ändern.
So, nun zum Problem: Bisher habe ich in meiner Subklasse von JPanel eine Paint Methode, die halt MVC konform bei einer Änderung des Modells neu zeichnet. Dazu ruft die paint Methode der Zeichenfläche die paint Methoden der einzelnen Objekte auf und übergibt die Referenz auf das Graphics Objekt. Das hat aber einen entscheidenden Nachteil. Auch die nicht verschobenen Objekte werden immer neu gezeichnet was vor allem beim Draggen eines einzelnen Objektes nicht schön ist.
Wie kann ich erreichen das das einzelne Objekt neugezeichnet wird. Hat jemand eine Idee? Irgendwie fehlt mir da der Ansatz.