Kartendarstellung in Swing

zeilush

Grünschnabel
Hallo,

ich hoffe mir kann jemand helfen, ich hab folgendes Problem.
In einem JPanel stelle ich eine Stadtkarte dar. Vor dem Laden skaliere ich die karte, damit diese bei der Darstellung nicht verzerrt wird.
Kunden haben die Möglichkeit auf dieser Karte durch einen Rechtsklick Dinge zu platzieren (ist ja egal was). Nachdem ein Punkt platziert worden ist, schreibe ich die X,Y Koordinaten des Punktes in eine DB, damit bei einem Neustart der Anwendung diese dem Kunden wieder sichtbar gemacht werden.
Nun zum Problem. Starte ich die Anwendung auf einem Laptop wird das Bild natürlich wieder skaliert, abhängig von der Panelgröße. Da meistens die Panelgröße auf einem Laptop kleiner ist, werden die Punkte falsch platziert, da die X, Y Koordianten nicht in Abhängigkeit des Bildes, sondern des Panels abgespeichert wurden.
Ich muss also die Koordinaten irgendwie in Abhängigkeit des Bildes platzieren.
Hat jemand eine Lösung wie man das anstellen kann, oder vielleicht eine andere Idee.

Ich bin für jede Hilfe dankbar.

Gruß
 
Du musst dir doch nur den Skalierungsfaktor merken und die Punkte vor dem Eintragen in die DB durch den Faktor teilen.

Beim laden entsprechend mit dem neuen Faktor multiplizieren und eintragen.

Wird auf x/y-Achse unterschiedlich skaliert musst du dir eben zwei Werte merken.
 
Zurück