MouseListener fuer gezeichnete Polyline

Jester

Mitglied
Hi Leute,
folgende Frage, ich habe eine Zeichenflaeche, auf der ich mit Graphics2D.drawPolyline zeichne. Gibts es die Moeglichkeit einen MouseListener fuer die gezeichnete Linie einzurichten?
Ich koennte natuerlich jeden Punkt meiner Linie mit der Mausposition vergleichen um zu sehen ob meine Maus ueber der Linie ist, aber das wird doch arg langsam wenn ich eine Menge solcher Polylines habe.
Gibt es da eine andere Moeglichkeit das umzusetzen?

Vielen Dank schon mal.

Mfg
Jester
 
S

SlaterB

Gast
paar allgemeine Ideen:
die erste Alternative zu arger Langsamkeit wurde in grauer Vorzeit erfunden, man nannte sie schlicht Mathematik ;)
du kannst zwischen einer Linie und einen Punkt mathematisch den Abstand berechnen, das kann schneller sein,

ok, ein Polygon ist wohl nicht nur eine Linie, mit Pech hat man da mehr zu rechnen als alle Pixel durchzulaufen,

dann gibt es noch die etwas Informatik-nähere Methodik der [was auch immer der Name ist] genannt, z.B. Indexe:
investiere Speicherplatz und einmalige Aufbauzeit in zusätzliche Datenstrukturen und gewinne damit Zeit im Falle der aktuelle Berechnung,

z.B. könntest du ein riesiges Array für alle Pixel anlegen, in jedem steht boolean true/false, das dürfte die schnellste Variante sein,
aber auch reichlich hoher Aufwand,

wenn du tatsächlich schon eine Liste aller Pixel hast, könntest du die sortiert ablegen, dann dürfte schneller etwas zu finden sein
als sie in einer unsortierten Liste komplett zu durchlaufen, was immer du da bisher hattest oder überlegtes

nett sind immer alle Varianten von Aufteilung des Bildschirms in kleinere Quadranten, Schachbrett-Muster,
vom Mausklick aus kann man einen dieser Quadranten bestimmen, dort ist abgespeichert ob gar kein Punkt des Polygons vorhanden ist oder eine (kleine) Liste der dortigen Punkte,
ist besonders hilfreich wenn man viele Polygone gleichzeitig verwalten möchte
 

Marco13

Top Contributor
Pixel? Verwende nicht drawPolyline, sondern erstelle dir das Polygon als Path2D, und zeichne es dann mit g.draw(path). Die ganzen Paths können intern in einer Liste gespeichert werden (z.B. einer List<Shape>) und bei einem Mausklick geht man die Shapes durch und fragt mit shape.contains(point) ab, ob sie die Mausposition enthalten. Bei VIELEN Shapes kann man sich dann noch was schnelleres überlegen - als erstes vielleicht einen Bounds-Test oder so. Aber bei einem einzelnen Mausklick sollten selbst 50ms Verzögerung noch egal sein.
 

Jester

Mitglied
Vielen Dank, ihr beiden ich werde mir mal die Path2D Klasse anschauen, das hoert sich naemlich nach genau dem an was ich gesucht habe.

Mfg
Jester
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JFrame, Linien zeichnen, MouseListener Java Basics - Anfänger-Themen 2
H MouseListener klicks begrenzen Java Basics - Anfänger-Themen 4
H MouseListener begrenzen und Speichern Java Basics - Anfänger-Themen 1
V Problem - MouseListener/2DGraphics Java Basics - Anfänger-Themen 2
R Variablen MouseListener funktioniert auf anderen Pcs nur bedingt Java Basics - Anfänger-Themen 6
G MouseListener funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
GRAZZ0R MouseListener - Rechteck Bewegen Java Basics - Anfänger-Themen 1
R Variable Klassenübegreifend MouseListener Java Basics - Anfänger-Themen 0
D MouseListener funktioniert nach Timerstart nicht mehr Java Basics - Anfänger-Themen 9
J MouseListener für Schleifen-Objekte Java Basics - Anfänger-Themen 13
S vom JPanel aus durch Mouselistener Internet aufrufen Java Basics - Anfänger-Themen 6
S GUI ImageIcon Mouselistener Link Java Basics - Anfänger-Themen 0
P MouseListener funktioniert nicht Java Basics - Anfänger-Themen 6
J KeyListener,MouseListener,MouseMotionListener und static Java Basics - Anfänger-Themen 7
P Problem mit MouseListener Java Basics - Anfänger-Themen 4
T MouseListener, recht Taste Java Basics - Anfänger-Themen 2
M MouseListener funktioniert nicht Java Basics - Anfänger-Themen 9
E Mouselistener auf jTable Java Basics - Anfänger-Themen 18
B Variablen an MouseListener übergeben Java Basics - Anfänger-Themen 5
H MouseListener für ein eingefügtes Bild in einem JFrame Java Basics - Anfänger-Themen 7
H Mouselistener bei JTable Java Basics - Anfänger-Themen 4
G MouseListener für mehrere Buttons Java Basics - Anfänger-Themen 11
L Label + MouseListener Java Basics - Anfänger-Themen 12
M MouseListener funkioniert auf JPanel nicht Java Basics - Anfänger-Themen 8
P Jtree MouseListener und NoCollapse Java Basics - Anfänger-Themen 2
M Schiebepuzzle: MouseListener und Graphics? Java Basics - Anfänger-Themen 6
M MouseListener Java Basics - Anfänger-Themen 2
kitz MouseListener Java Basics - Anfänger-Themen 8
B MouseListener & Graphics Java Basics - Anfänger-Themen 10
D Problem mit Mouselistener und jtable Java Basics - Anfänger-Themen 7
C fragen zu MouseListener Java Basics - Anfänger-Themen 3
M MouseListener funktioniert in jar-file nicht mehr Java Basics - Anfänger-Themen 13
F Logikproblem: Auf Mouselistener warten Java Basics - Anfänger-Themen 6
E Auf Mouselistener warten?! Java Basics - Anfänger-Themen 20
S Probleme mit 2 mouselistener Java Basics - Anfänger-Themen 6
A Frage zu MouseListener Java Basics - Anfänger-Themen 2
D Mouselistener Java Basics - Anfänger-Themen 2
A jPanel an MouseListener übergeben? Java Basics - Anfänger-Themen 2
S Swing JEditoPane MouseListener Java Basics - Anfänger-Themen 5
M Mouselistener Java Basics - Anfänger-Themen 4
S MouseListener funzt net. Java Basics - Anfänger-Themen 5
G MouseListener double click? Java Basics - Anfänger-Themen 1
V MouseListener Java Basics - Anfänger-Themen 5
M MouseListener Java Basics - Anfänger-Themen 3
N Mouselistener? Java Basics - Anfänger-Themen 5
T ein MouseListener pro Objekt sinnvoll? Java Basics - Anfänger-Themen 4
F MouseListener - Unhandled IOException Java Basics - Anfänger-Themen 2
U MouseListener Java Basics - Anfänger-Themen 2
L Array von Buttons, jeder soll MouseListener haben Java Basics - Anfänger-Themen 5
S MouseListener - Events auf Mouseklick Java Basics - Anfänger-Themen 14
L MouseListener Problem. Java Basics - Anfänger-Themen 2
S mouselistener Java Basics - Anfänger-Themen 3
N MouseListener Java Basics - Anfänger-Themen 2
J MouseListener implementieren Java Basics - Anfänger-Themen 12
P MouseListener wird anscheinend nicht benutzt Java Basics - Anfänger-Themen 12
N MouseListener - reagiert zu spät Java Basics - Anfänger-Themen 3
D JList - Textzeilen MouseListener zuweisen Java Basics - Anfänger-Themen 4
M prüfen ob mouselistener gesetzt ist. Java Basics - Anfänger-Themen 10
O image und mouseListener Java Basics - Anfänger-Themen 15
W MouseListener Probleme beim Abfangen Java Basics - Anfänger-Themen 8
P Kann keinen MouseListener hinzufügen Java Basics - Anfänger-Themen 3
G MouseListener einbauen - wie? Java Basics - Anfänger-Themen 4
S Library fuer Graphen Java Basics - Anfänger-Themen 3
S suche nach varible POSITION ... fuer das pixel-maennchen Java Basics - Anfänger-Themen 4
S Welche Datenstruktur ist die optimalste um Funktionen fuer bestimmte Wertebereiche abzurufen..? Java Basics - Anfänger-Themen 5
S Funktion die mir fuer einen String eine Zahl zwischen 0.0 und 1.0 zurueckliefert..? Java Basics - Anfänger-Themen 9
T Wie vergleiche ich die Jahre aus der while Schleife die in ( public class) fuer cbx geschrieben sind Java Basics - Anfänger-Themen 5
M Klasse fuer eine 5er Liste? Java Basics - Anfänger-Themen 5
S Android fuer Swing-Kenner..? Java Basics - Anfänger-Themen 6
B Externe Libraries fuer Applet ... Pfad eingeben? Java Basics - Anfänger-Themen 23
B Lizenz fuer Programm vergeben. Java Basics - Anfänger-Themen 13
P Zufallszahlen fuer Lotto generieren Java Basics - Anfänger-Themen 28
S In Eclipse relativen Pfad fuer Tomcat Server erstellen..? Java Basics - Anfänger-Themen 3
V ObjectOutputStream/ObjectInputStream eines Objectes fuer mehrere Threads Java Basics - Anfänger-Themen 6
S Methode die Wrapper Klasse fuer einen primitiven Typ zurueck Java Basics - Anfänger-Themen 11
S String Konstante kann nicht fuer Annotation verwendet werden Java Basics - Anfänger-Themen 2
B Netzwerkloesung fuer Spiel Java Basics - Anfänger-Themen 4
G Wahl fuer die Highscoreliste Java Basics - Anfänger-Themen 9
C Links fuer Tuts und so. Java Basics - Anfänger-Themen 2
H gezeichnete Linie Eventhandling Java Basics - Anfänger-Themen 2
J Das Gezeichnete auf JPanel verschwindet nach minimize Java Basics - Anfänger-Themen 4
S Gezeichnete Rechtecke werden nicht dargestellt Java Basics - Anfänger-Themen 15
S gezeichnete Objekte werden bei Start nicht angezeigt Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben