[AWT] Zeichnungen per Maus auswählen

  • Themenstarter Gelöschtes Mitglied 2635
  • Beginndatum
Status
Nicht offen für weitere Antworten.
G

Gelöschtes Mitglied 2635

Gast
Hallo zusammen.

Ich möchte gezeichnete Elemente per Mouse auswählen. Die Mouseeinbindung und das Zeichnen ist alles kein Problem. Suche nur einen Ansatz, wie ich bei einem Mouseklick feststelle, ob ich z.B. einen Kreis oder anderes Element angeklickt habe. Kann mir jemand folgen und helfen?


Besten Dank, Der Tino.
 

L-ectron-X

Gesperrter Benutzer
Du müsstest irgendwo die Koordinaten hinterlegen und mit den MouseEvent-Methoden getX() und getY() die Koordianten eines Klicks feststellen und vergleichen.
 

ulr!ch

Bekanntes Mitglied
tinokramm hat gesagt.:
Suche nur einen Ansatz, wie ich bei einem Mouseklick feststelle, ob ich z.B. einen Kreis oder anderes Element angeklickt habe. Kann mir jemand folgen und helfen?
Du kannst ja, die Kreise, Rechtecke... auf einen JButton zeichnen, diesen dann transparent machen, ohne Linie zeichnen, dann merkt man keinen Unterschied. Wenn du allerdings wirklich nur Koordinaten innerhalb des Kreises und nicht außerhalb des Kreises aber innerhalb des JButtons zulassen möchtest, wirst du nicht umhinkommen, dir über den MouseListener --> mouseReleased (z. B.) --> e.getX()... die Koordinaten rückgeben zu lassen.

By<e Ulrich
 
Hi,

das ist im Prinzip ganz einfach. Du repräsentierst jedes Zeichenobjekt (Kreis, Quadrat o.ä.) durch eine Klasse. Diese Klasse kann ne Methode beinhalten (z.B. isInside( MouseEvent e) ) die bei einem Klick überprüft ob die Koordinaten in diesem Objekt liegen. Beim Zeichnen wird ein Objekt der besagten Klasse erzeugt und in ner Speicherstruktur gespeichert.
 
G

Gelöschtes Mitglied 2635

Gast
Ist zwar schon älter der Thread, aber ich muss mich nochmal mit der Aufgabe auseinandersetzen. Für ein Quadrat konnte ich solch eine Methode "isMouseInside(MouseEvent e)" entwickeln. Allerdings fällt mir kein gescheiter Lösungsansatz für einen Kreis und ein gleichseiges Dreieck ein. Wie könnte ich das geschickt anstellen?

Code:
	public boolean isMouseInside(MouseEvent e) {
		/** stellt fest, ob eine Mouseklick in der Figur liegt */
		int xm = e.getX();
		int ym = e.getY();		
		if (xm >= x && xm <= x+a && ym >= y && ym <= y+a) return true;		
		return false;
	}

a = Seitenlänge
x,y = Koordinaten der Figur
xm, ym = temp. Koordinaten des Mouseklicks
 
R

Roar

Gast
benutze doch die java.awt.geom klassen, dann brauchst du dir deinen kopf nicht über höhere mathematik zu zerbrechen sondern nimmst einfach #contains(x, y) um zu überprüfen ;)
 
G

Gelöschtes Mitglied 2635

Gast
Vielen Dank für den genialen Tipp. Habe das für den Kreis und das Quadrat auch auf Anhieb realisieren können. Nur finde ich unter java.awt.geom keine geeignete Klasse für mein Dreieck, sprich ein Polygon!? Wie soll ich hiermit verfahren?

Code für's Quadrat:

Code:
	public boolean isMouseInside(MouseEvent e) {
		/** stellt fest, ob ein Mausklick in der Figur liegt */
		Rectangle2D tmp = new Rectangle2D.Double(x,y,a,a);
		if (tmp.contains(e.getPoint())) return true;		
		return false;
	}
 
A

AU

Gast
Gibt es da evtl. eine effizientere Methode? Was ist wenn ich 2000 Polygone habe, das Array auf die Koordinaten zu prüfen dauert dann ewig!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Swing Swing macht sehr seltsame Zeichnungen. AWT, Swing, JavaFX & SWT 13
G Linie mit der Maus auswählen AWT, Swing, JavaFX & SWT 5
B mit maus Objekt bewegen AWT, Swing, JavaFX & SWT 3
R Swing Panel nur bei Maus sichtbar AWT, Swing, JavaFX & SWT 2
B mit Maus verschiebbares Panel AWT, Swing, JavaFX & SWT 2
C JTextField Inhalt mit Maus selektieren wenn disabled AWT, Swing, JavaFX & SWT 2
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
F Event wenn Maus eine JList verlässt AWT, Swing, JavaFX & SWT 13
T Timer und GIF Animationen pausieren während Maus sich bewegt AWT, Swing, JavaFX & SWT 4
M Bild in JPanel mit Maus einfügen AWT, Swing, JavaFX & SWT 0
B Swing Form undecorated: Beim Bewegen geht die Maus immer automatisch zur linken Seite. AWT, Swing, JavaFX & SWT 7
L 2D-Grafik Bild in Richtung Maus drehen AWT, Swing, JavaFX & SWT 18
K Swing Maus in Panel einsperren AWT, Swing, JavaFX & SWT 8
D Swing JList keine Selektionsänderung bei "dragged-Maus" AWT, Swing, JavaFX & SWT 4
A JFrame Größenänderung mit Maus und GridLayout AWT, Swing, JavaFX & SWT 10
J Maus "locken" für Menü AWT, Swing, JavaFX & SWT 8
D Grafiken an Maus anhängen AWT, Swing, JavaFX & SWT 2
P Pfeilpolygon per Maus rotierbar machen - Kleine Schwierigkeiten AWT, Swing, JavaFX & SWT 29
P Event Handling Gedrückte Maus Blockiert MausEvents AWT, Swing, JavaFX & SWT 2
R Swing Per Maus JLabel resizen AWT, Swing, JavaFX & SWT 6
F Maus von alleine bewegen! AWT, Swing, JavaFX & SWT 8
G Swing JPanel per Maus verschieben AWT, Swing, JavaFX & SWT 5
A SWT Tooltip soll nicht verschwinden, solange User mit Maus auf Control ist AWT, Swing, JavaFX & SWT 5
C AWT Mausbarriere Maus fangen AWT, Swing, JavaFX & SWT 10
J "Auswahlfenster" mit Maus auf JLabel zeichnen AWT, Swing, JavaFX & SWT 4
W Swing Bild zeichnen wenn Maus an bestimmter Position ist AWT, Swing, JavaFX & SWT 4
J Inaktivität von Maus und Tastatur AWT, Swing, JavaFX & SWT 4
G AWT Images aus Imagearray an die Maus pappen und bewegen AWT, Swing, JavaFX & SWT 4
F Element anzeigen / erstellen. Maus vs Controller AWT, Swing, JavaFX & SWT 7
M 3D-Grafik Bewegung mit der Maus ohne Klicken AWT, Swing, JavaFX & SWT 10
F Swing Objekte mit Maus verschieben AWT, Swing, JavaFX & SWT 8
O Swing JButton werden richtig gewechselt aber die Maus macht die alten wieder Sichtbar?? AWT, Swing, JavaFX & SWT 5
Y AWT Maus Koordinaten abspeichern in eine Textfile AWT, Swing, JavaFX & SWT 3
Weltall 7 AWT Maus-Events werden doppelt ausgeführt AWT, Swing, JavaFX & SWT 12
C permanente aktualisierung der Koordinaten der Maus auf einem Panel AWT, Swing, JavaFX & SWT 8
J maus festlegen AWT, Swing, JavaFX & SWT 6
C paintComponent mit Maus verschieben - wie? AWT, Swing, JavaFX & SWT 2
T Swing JComboBox: Listeneinträge mit der Maus verschieben AWT, Swing, JavaFX & SWT 5
O JSlider - wie unterscheide ich mit Maus verändert und durch setValue verändert. AWT, Swing, JavaFX & SWT 16
W Swing Maus Rastersprung AWT, Swing, JavaFX & SWT 3
S Swing JTable Auswahl mehrerer Zellen mit STRG+Maus AWT, Swing, JavaFX & SWT 3
E Hilfetext anzeigen beim Überfahren mit der Maus AWT, Swing, JavaFX & SWT 3
G Maus über Button AWT, Swing, JavaFX & SWT 3
S Funktion nur ausführen, wenn Maus über Componente ist AWT, Swing, JavaFX & SWT 2
G Listenelemente mit der Maus verschieben AWT, Swing, JavaFX & SWT 4
B kein MouseEvent bei zu schneller Bewegung der Maus AWT, Swing, JavaFX & SWT 7
B JTable - Wechsel der Spalte bei TAB, RETURN oder Maus AWT, Swing, JavaFX & SWT 5
D Mit der Maus in verschiedene Modi wechseln AWT, Swing, JavaFX & SWT 15
Z Buttons erscheinen erst wenn man mit der Maus drüber geht AWT, Swing, JavaFX & SWT 7
G Elemente erst da wenn mit Maus drüber gefahren bin AWT, Swing, JavaFX & SWT 2
M Kreis mit gedrückter Maus bewegen AWT, Swing, JavaFX & SWT 20
F Größenänderung mittels Maus - selbst implementieren? AWT, Swing, JavaFX & SWT 3
R Einstellen der Maus Rad Geschwindigkeit beim Scrollen AWT, Swing, JavaFX & SWT 3
G Kreis zeichnen und mit Maus ziehen AWT, Swing, JavaFX & SWT 3
W Maus Rahmen zeichnen AWT, Swing, JavaFX & SWT 10
A JFileChooser - Mehrere Dateien per Maus markieren (nokeys) AWT, Swing, JavaFX & SWT 7
V JTable Handling Fokus on Keystroke und Maus Doubleclick AWT, Swing, JavaFX & SWT 9
R JTable: Maus-Click ohne Datensätze AWT, Swing, JavaFX & SWT 9
L Größe von Komponenten im Nulllayout mit der Maus verändern. AWT, Swing, JavaFX & SWT 2
J Context Menü Maus AWT, Swing, JavaFX & SWT 3
G JTable selektion der Zeile bei Fokusieren mit der Maus AWT, Swing, JavaFX & SWT 5
T mousemoved abfrage - aber welches event wenn maus weg? AWT, Swing, JavaFX & SWT 2
lin Frame bei Drücken eines Buttons mit Maus verschieben AWT, Swing, JavaFX & SWT 7
D Ne Maus Event Frage AWT, Swing, JavaFX & SWT 4
D Polygon mit der Maus zeichnen AWT, Swing, JavaFX & SWT 2
M Zusätzlichen Maus-Klick erzeugen AWT, Swing, JavaFX & SWT 4
M JavaFX Tab auswählen mit JavaFX AWT, Swing, JavaFX & SWT 9
B JavaFX JavaFX Table gespeichertes Wert auswählen/anvisieren AWT, Swing, JavaFX & SWT 3
L ComboBox Wert automatisch auswählen AWT, Swing, JavaFX & SWT 6
D JButton per Tastenkombi auswählen AWT, Swing, JavaFX & SWT 2
C JComboBox Objecte übergeben und Eintrag auswählen AWT, Swing, JavaFX & SWT 3
domjos1994 JavaFX Element auswählen auf dem der Cursor ist AWT, Swing, JavaFX & SWT 1
S Pfad für Speichervorgang auswählen AWT, Swing, JavaFX & SWT 11
E JavaFX TableView mit Rechtsklick Zelle auswählen AWT, Swing, JavaFX & SWT 8
W Bei Programmstart jRadioButton automatisch auswählen AWT, Swing, JavaFX & SWT 2
A Swing per JComboBox gewünschtes Attribut auswählen und Komponenten passen sich an AWT, Swing, JavaFX & SWT 7
T JTree - Elemente mit Doppelklick auswählen AWT, Swing, JavaFX & SWT 6
H Swing Element aus JComboBox auswählen AWT, Swing, JavaFX & SWT 2
S Swing Ordner im JFileChooser auswählen AWT, Swing, JavaFX & SWT 2
N Speicherpfad für Datei auswählen AWT, Swing, JavaFX & SWT 2
F Swing ArrayList in JList anzeigen und Objekte auswählen AWT, Swing, JavaFX & SWT 2
P Swing RadioButtons - nur einen auswählen AWT, Swing, JavaFX & SWT 3
propra Auf einem JPanel gezeichnete Linie auswählen AWT, Swing, JavaFX & SWT 3
M gleiches Element in JList mehrmals hintereinander auswählen AWT, Swing, JavaFX & SWT 6
Dit_ JTextField | Text auswählen und Caret setzen AWT, Swing, JavaFX & SWT 7
H Swing jTable Zeitspanne auswählen AWT, Swing, JavaFX & SWT 3
Landei Swing JTree - Element mit Doppelklick auswählen AWT, Swing, JavaFX & SWT 4
M FileChooser Bilder auswählen AWT, Swing, JavaFX & SWT 8
M Swing jcombobox als jtable-editor: neues Item auswählen AWT, Swing, JavaFX & SWT 4
R JFileChooser - Initiales Verzeichnis auswählen AWT, Swing, JavaFX & SWT 8
N Mit JFileChooser ein Verzeichnis auswählen AWT, Swing, JavaFX & SWT 7
S [gelöst] API zum bequemen Navigieren und Auswählen von Ordnern AWT, Swing, JavaFX & SWT 3
N Defaulttext per Mausklick auswählen AWT, Swing, JavaFX & SWT 4
R Zahl aus Zahlenbereich auswählen AWT, Swing, JavaFX & SWT 9
T einzelne Zelle einer JTable auswählen und Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 2
D JTree programmtechnisch mehrere Nodes auswählen. AWT, Swing, JavaFX & SWT 2
N JCalendar - Kein Datum auswählen AWT, Swing, JavaFX & SWT 3
S JTable Reihe auswählen AWT, Swing, JavaFX & SWT 2
S Welches Event beim auswählen einer Zelle? [JTable] AWT, Swing, JavaFX & SWT 3
A JTable zeile auswählen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben