GUI mit Karte

Status
Nicht offen für weitere Antworten.
S

Samuel

Gast
Ich hab ne Frage, wir haben hier eine Karte, sei es Welt oder sonst was, die in Länder unterteilt ist.
Diese Karte sollen wir nun in Swing graphisch darstellen, mir fällt aber keine gescheite Methode ein, sollte ich die Kartenstücke separieren? Ich werde wohl die einzelnen Länder brauchen, aber wie prüfe ich, ob ein Klick genau fide Kartenstelle statt gefunden hat?
 

jagdfalke

Bekanntes Mitglied
Schreib dir ne Art ImageComponent, die das Bild enthält und glaube am Besten von JComponent erbt, und registriere nen MouseListener drauf. Dann finde bei jedem Klick herauf auf welchen Koordinaten in der Karte geklickt wurde. Gib den einzelnen Ländern Bounds, also z.B.

Land A:
Bound1: Rechteck von 200/200 bis 300/300
Bound2: Rechteck von 200/300 bis 200/400

Land B:
etc.

Wenn du weißt wo geklickt wurde kannst du checken lassen innerhalt von welchem Rechteck das war und das dann einem Land zuordnen. So musst du die Karten nicht zerscheiden.

mfg
jagdfalke
 
S

Samuel

Gast
Rechteckige Länder?
Wenn die Rechteckig wären, hätte ich keine Probleme
 
S

Samuel

Gast
Wie genau stellt ihr euch das vor? Soll ich für eine Landkarte jedes Land per Hand Pixel für Pixel eintragen? Dann bin ich mehrere Jahre mit beschäftigt.
Es muss doch noch ne Methode geben, die sowas optimiert.
Niemand würde sowas freiwillig machen, oder?
 

Eldaron

Aktives Mitglied
wie genau stellst Du Dir eine Java Methode vor, die aus nem einfachen Bild "erkennt", in welches Land du reingeklickt hast ? Kannst Dir ja einen ImageMatching Algorithmus basteln, der das Land ermittelt, in das geklickt wurde. Wenn Du die Karte halbwegs günstig wählst, ist das wohl nicht mal so schwer.
 
S

Samuel

Gast
Ich hab sowas gesucht, wie eine Bild Kompo, bei der ich n Teil der Karte als Grafik nehmen kann und diese reagiert auch auf dem Bereich, wo die Grafik drauf ist, auf Action Events.

Ansonsten gibts da ne wesendlich bessere Methode als alles per Hand machen, man nimmt die Karte und färbt die in extremen, unterschiedlichen Farben und packt die normale Karte drüber.
Bei Klicks guckt man nun auf die untere Karte, welchen Farbwert der Pixel auf diesen Mauskoordinaten der eigenfärbten Karte hat und vergleicht.
Ich habe etwas effizienteres als das gesucht
 

Eldaron

Aktives Mitglied
arg viel effizienteres als die 2 Karten Sache wirst ohne spezielle Daten über die Karte nicht bekommen.
 
S

Samuel

Gast
hm, ok, dann halt so, dachte mir, weil ich die Karte sowieso in kleinere Stücke trennen muss um Effekte wie Hover auf dem jeweiligen Land zu erzeugen, dann könnte ich diese auch vielleicht direkt nutzen
 

AlArenal

Top Contributor
Oder schau doch mal ob die API von Google Maps dafür nicht was bereithält... Karten gibts da (Ehrlich! ;) ), Ländergrenzen kann man in deren Client anzeigen lassen (also gibts auch Daten), ....
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben