Hallo zusammen,
Zunächst einmal meine Ausgangssituation:
Ich ahbe ein JLabel, welches ich zur Anzeige eines Bildes verwende. Dieses JLabel ist wiederum in einem JScrollPane eingebettet.
"Über" diesem Bild sollen nun verschiedene Symbole plaziert werden, welche ich mit der Maus verschieben möchte. Derzeit funktioniert das zwar schon, allerdings eher weniger elegant und auch <Ironie> ein klein wenig </Ironie> Ineffizient. Für jedes plazierte Objekt merke ich mir im Grunde wo es (relativ zu dem Bild) gezeichnet werden soll und bei einem repaint des Bildes werden die einzelnen Symbole nachträglich per Graphics auf das JLabel gezeichnet. Die Symbole sind im Übrigen keine statischen Grafiken, sondern können z.B. die Farbe je nach eingestelltem Parameterwert ändern!
Nun habe ich mir gedacht, dass das doch mit Sicherheit auch einfacher geht. Evtl. mit einem (durchsichtigen) JPanel pro Symbol, welches "über" dem JLabel welches das Bild anzeigt palziert wird?
Mein Ziel ist es einfach, dass bei kleinen Änderungen an einem Symbol (Farbwechsel, Positionswechsel oder ähnliches) nicht das gesamte Bild neu gezeichnet, sondern eben nur die Position oder eben das Symbol aktueliesiert werden muss. Leider bin ich hierzu jedoch noch nicht fündig geworden.
Meine Frage wäre nun ob mir hier evtl. jemand dabei helfen kann und wie eine mögliche Lösung aussehen könnte.
Zunächst einmal meine Ausgangssituation:
Ich ahbe ein JLabel, welches ich zur Anzeige eines Bildes verwende. Dieses JLabel ist wiederum in einem JScrollPane eingebettet.
"Über" diesem Bild sollen nun verschiedene Symbole plaziert werden, welche ich mit der Maus verschieben möchte. Derzeit funktioniert das zwar schon, allerdings eher weniger elegant und auch <Ironie> ein klein wenig </Ironie> Ineffizient. Für jedes plazierte Objekt merke ich mir im Grunde wo es (relativ zu dem Bild) gezeichnet werden soll und bei einem repaint des Bildes werden die einzelnen Symbole nachträglich per Graphics auf das JLabel gezeichnet. Die Symbole sind im Übrigen keine statischen Grafiken, sondern können z.B. die Farbe je nach eingestelltem Parameterwert ändern!
Nun habe ich mir gedacht, dass das doch mit Sicherheit auch einfacher geht. Evtl. mit einem (durchsichtigen) JPanel pro Symbol, welches "über" dem JLabel welches das Bild anzeigt palziert wird?
Mein Ziel ist es einfach, dass bei kleinen Änderungen an einem Symbol (Farbwechsel, Positionswechsel oder ähnliches) nicht das gesamte Bild neu gezeichnet, sondern eben nur die Position oder eben das Symbol aktueliesiert werden muss. Leider bin ich hierzu jedoch noch nicht fündig geworden.
Meine Frage wäre nun ob mir hier evtl. jemand dabei helfen kann und wie eine mögliche Lösung aussehen könnte.