gezeichnetes Objekt anklicken

Josie

Mitglied
Hallo

Ich habe Objekte ( jedes Objekt besitzt xPosition und yPosition eines 2D-Arrays sowie eine eindeutigen ID-Nr.) in einer Liste gespeichert, die ich als Kreise auf einem JPanel zeichnen lasse.

Ist es nun möglich, dass ich diese Kreise mit der Maus anklicken kann? Wenn ja, wie kann ich das umsetzen?

Vielen Dank.
Katrin
 

Flown

Administrator
Mitarbeiter
@Thallius hat dir schon den richtigen Hinweis gegeben.

Was du dann von dem MouseListener bekommst ist ein MouseEvent mit der du die x und y Koordinate im aktuellen Panel erhälst.
Dann musst du nur noch deine Liste durchlaufen und sehen welches Objekt die Koordinate beinhaltet.
 

Josie

Mitglied
Danke für die Antworten.
Mein Problem ist, dass der MouseEvent aber die Position der Maus auf dem JPanel gibt. Meine Objekte haben aber die Position des Arrays (HxB des Array, also zB 4x5 als Raster und ein Objekt hat die Position (0,2)). Das kann ich ja nicht mit der Position vergleichen, die mir der MouseEvent liefert.
Gibts noch andere Möglichkeiten?
 

deemon84

Mitglied
Danke für die Antworten.
Mein Problem ist, dass der MouseEvent aber die Position der Maus auf dem JPanel gibt. Meine Objekte haben aber die Position des Arrays (HxB des Array, also zB 4x5 als Raster und ein Objekt hat die Position (0,2)). Das kann ich ja nicht mit der Position vergleichen, die mir der MouseEvent liefert.
Gibts noch andere Möglichkeiten?

Eventuell (etwas aufwendiger) diese Alternative: das Objekt (zB ein JPanel), an dem du die Kreise zeichnest, hat eine x und y Koordinate. Das MouseEvent enthält (vermute ich) eine Koordinate relativ zum JPanel. Dann muss man suchen, zum welchen Kreis die Koordinate vom MouseEvent gehört.
 

Flown

Administrator
Mitarbeiter
Irgendwie sehe ich, dass du keine Ahnung hast was du tust. Alle Beiträge sind für den Lösungsansatz wichtig.

Wie sieht denn dein Code generell aus?
 

Josie

Mitglied
Dass ich keine Ahnung habe, von dem was ich tue, kann schon möglich sein. Darum bitte ich ja um Hilfe.


Mein Code ist lang und über mehreren Klassen verstreut. Hier ein Ausschnitt:



Das Array als Grundlage
Java:
private void spielfeldInitialisieren() {
    
        for (int i = 0; i < breite; i++) {
            for (int y = 0; y < hoehe; y++) {
                spielfeld[i][y] = 0;
            }
        }
    }

Instanziieren der Kreise (Inseln)
Java:
ins = new Insel(posX, posY, listInseln, id)

Die Kreise zeichnen
Java:
 public void paintComponent(Graphics g) {
     for(Insel ins:listInseln) {
   
           
            g.drawOval(spielfeld[ins.getPosInselX()][ins.getPosInselY()]+ ABSTAND*ins.getPosInselX(), spielfeld[ins.getPosInselX()][ins.getPosInselY()]+ABSTAND*ins.getPosInselY(), ABSTAND/2, ABSTAND/2);

        }


    }


Ich benutze zur Ausgabe ein Array, weil ich so einfacher die Kreise in einem Raster zeichnen kann.
Ich verstehe noch nicht, wie ich die Koordinaten des MouseEvents mit den der Kreise vergleichen kann. Oder wie kann ich den Kreisen die "richtigen" Koordinaten geben?
 

Flown

Administrator
Mitarbeiter
Ah ja hier hast du schon die Werte die du benötigst, damit du ermitteln kannst, wo der Kreis ist:
Java:
g.drawOval(spielfeld[ins.getPosInselX()][ins.getPosInselY()]+ ABSTAND*ins.getPosInselX(), spielfeld[ins.getPosInselX()][ins.getPosInselY()]+ABSTAND*ins.getPosInselY(), ABSTAND/2, ABSTAND/2);
Du weißt wo eine Insel beginnt, wie breit sie ist und natürlich wie hoch. Dann kannst du dir auch ausrechnen, ob ein Punkt (MouseEvent) in deinem der Inseln liegt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
DonBronson Gezeichnetes Objekt verschwindet nachdem erneut gezeichnet wird AWT, Swing, JavaFX & SWT 8
M Gezeichnetes Dreieck mit HoughLines erkennen AWT, Swing, JavaFX & SWT 9
F Gezeichnetes als bild speichern AWT, Swing, JavaFX & SWT 4
T HILFE wie lösche ich gezeichnetes per tastendruck AWT, Swing, JavaFX & SWT 1
S Swing JMenu löscht auf panel gezeichnetes AWT, Swing, JavaFX & SWT 3
T 2D-Grafik gezeichnetes Bild verschieben - rand bleibt sichtbar AWT, Swing, JavaFX & SWT 2
L Gezeichnetes Image mit DrawImage überzeichnen AWT, Swing, JavaFX & SWT 3
_user_q Objekt.setSelected(false), wenn es nicht mehr fokussiert wird AWT, Swing, JavaFX & SWT 2
B mit maus Objekt bewegen AWT, Swing, JavaFX & SWT 3
U Was genau ist das Objekt einer affinentransformation? AWT, Swing, JavaFX & SWT 1
U Was genau ist ein Shape-Objekt? AWT, Swing, JavaFX & SWT 3
DonBronson Objekt bewegen (Mausposition) AWT, Swing, JavaFX & SWT 3
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
U Was ist ein Shape, also klar ein Objekt, aber was ist damit gemeint (Graphics2d)? Und was sidn affinetransformationen AWT, Swing, JavaFX & SWT 1
Jose05 zugreifen auf ein Objekt eines GridPanes AWT, Swing, JavaFX & SWT 0
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
C Objekt an paintComponent weitergeben AWT, Swing, JavaFX & SWT 1
M Swing Objekt Array in GUI ausgeben AWT, Swing, JavaFX & SWT 1
A Objekt von einem Window erstellen? AWT, Swing, JavaFX & SWT 8
F Java FX Von der Fxml Datei zum Objekt AWT, Swing, JavaFX & SWT 8
M Swing Durch Usereingabe neues Objekt AWT, Swing, JavaFX & SWT 2
K Color-Objekt erzeugen in CMYK AWT, Swing, JavaFX & SWT 2
T Frage zu GUI - Button soll Objekt erfassen AWT, Swing, JavaFX & SWT 2
A Swing Null Pointer Exception obwohl Objekt initialisiert AWT, Swing, JavaFX & SWT 21
thet1983 JavaFX TableView Objekt Daten anzeige AWT, Swing, JavaFX & SWT 2
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
M Mouse Click Event ohne ein JComponent Objekt AWT, Swing, JavaFX & SWT 3
L JavaFX als eigenes Objekt AWT, Swing, JavaFX & SWT 3
M [JavaFX] Objekt um Zentrum rotieren (Camera) AWT, Swing, JavaFX & SWT 1
E JavaFx Screne mehr als ein "Objekt" zuordnen ? AWT, Swing, JavaFX & SWT 2
F 2D-Grafik Objekt durch Einwirkung einer Kraft im Raum bewegen AWT, Swing, JavaFX & SWT 14
J Bilder als Variable an einem Objekt speichern AWT, Swing, JavaFX & SWT 3
B Event Handling MouseListener Behält seine Variablen, auch wenn ich ein neus Objekt erstelle AWT, Swing, JavaFX & SWT 2
C Graphics Objekt in Zeitschleife zeichnen AWT, Swing, JavaFX & SWT 4
P Event Handling Anfängerfrage: ActionEvent bekommt kein Zugriff auf Objekt AWT, Swing, JavaFX & SWT 3
R Array aus einem Objekt auslesen AWT, Swing, JavaFX & SWT 4
V 2D-Grafik Frage zum Graphics Objekt AWT, Swing, JavaFX & SWT 2
A AWT TTF-Datei zu Font-Objekt finden? AWT, Swing, JavaFX & SWT 5
S Objekt durch Tasteneingabe mehrmals drehen AWT, Swing, JavaFX & SWT 9
E Swing Objekt zu Position (Point) bewegen AWT, Swing, JavaFX & SWT 2
T 3D-Grafik (Java3D) Aus einem Objekt einer Szene (Würfel, Ebene) die wichtigen Randkoordinaten auslesen AWT, Swing, JavaFX & SWT 3
K Action Listener implementieren über Objekt AWT, Swing, JavaFX & SWT 14
Java-Insel LayoutManager Ein GridBagLayout-Objekt für mehrere Panels? AWT, Swing, JavaFX & SWT 2
V Persistentes Objekt laden Progressbar AWT, Swing, JavaFX & SWT 7
F Canvas Objekt außerhalb des Frames zeichnen AWT, Swing, JavaFX & SWT 3
Furtano AWT paint braucht ein Graphics Objekt ? AWT, Swing, JavaFX & SWT 2
propra Schnittpunkt zwischen Objekt und Kante finden AWT, Swing, JavaFX & SWT 24
L Graphics Objekt - aus anderer Klasse aufrufen / übergeben AWT, Swing, JavaFX & SWT 5
S Objekt einmal laden zweimal anzeigen 3d AWT, Swing, JavaFX & SWT 6
I Swing Zugriff auf ein Objekt AWT, Swing, JavaFX & SWT 2
F Nur ein Objekt auf Canvas neu zeichnen AWT, Swing, JavaFX & SWT 4
R Möglichkeiten ein abgeleitetes Objekt zu erzeugen AWT, Swing, JavaFX & SWT 4
P Swing Wie bekomme ich eine Referenz auf ein Objekt das im EDT erzeugt wird? Und anderes... AWT, Swing, JavaFX & SWT 8
T Objekt in Kreisbahn bewegen AWT, Swing, JavaFX & SWT 5
B Zeichnen von Bildern auf JPanel aus eigenem Objekt AWT, Swing, JavaFX & SWT 19
V Parameter an Runnable-Objekt übergeben AWT, Swing, JavaFX & SWT 6
Dit_ Objekt mit ActionEvent übergeben AWT, Swing, JavaFX & SWT 2
S Unterscheiden ob ein Graphics-Objekt von einer JComponent oder einem BufferedImage kommt..? AWT, Swing, JavaFX & SWT 4
L Swing Auf unabhängiges Image-Objekt zeichnen AWT, Swing, JavaFX & SWT 8
A SWT SWT - Unbekannte Fläche (Objekt) erscheint im Composite AWT, Swing, JavaFX & SWT 6
D Objekt mit Button erstellen und mit anderem Button verwenden AWT, Swing, JavaFX & SWT 4
P Objekt kopieren AWT, Swing, JavaFX & SWT 2
M Graphics-Objekt aktualisiert sich nicht AWT, Swing, JavaFX & SWT 2
U [MVC] Objekt bearbeiten AWT, Swing, JavaFX & SWT 9
O Swing JTable Colum Objekt AWT, Swing, JavaFX & SWT 6
Dit_ Ein Kreis als Graphics2D oder als Ellipse2D Objekt AWT, Swing, JavaFX & SWT 19
M Objekt im ActionListener ansprechen AWT, Swing, JavaFX & SWT 3
C Wie komme ich an ein Objekt aus einem JTree? AWT, Swing, JavaFX & SWT 10
R FlowLayout: 1 Objekt pro Zeile AWT, Swing, JavaFX & SWT 5
D Objekt (Map) in Textfeld ausgeben AWT, Swing, JavaFX & SWT 10
kirchrath Swing Aus ActionEvent Objekt herausfinden auf dem er ausgeführt wurde AWT, Swing, JavaFX & SWT 4
E Graphics2D: altes Objekt löschen, wenn repaint aufgerufen wird AWT, Swing, JavaFX & SWT 7
S Objekt wird während Endlosschleife nur einmal bewegt AWT, Swing, JavaFX & SWT 2
W Objekt-array als Raster visualisieren AWT, Swing, JavaFX & SWT 3
F Herausfinden, auf welchem Objekt der Fokus liegt AWT, Swing, JavaFX & SWT 2
G Tooltip Text für ein Shape Objekt AWT, Swing, JavaFX & SWT 2
D DnD ganzer Objekte(Objekt erstellen) AWT, Swing, JavaFX & SWT 2
G Wie ziehe ich ein Objekt aus einer JList? AWT, Swing, JavaFX & SWT 7
O JTable mit objekt-daten füllen AWT, Swing, JavaFX & SWT 4
B in jList feld aus einem objekt anzeigen AWT, Swing, JavaFX & SWT 2
R SWT color Objekt AWT, Swing, JavaFX & SWT 4
K Graphics-Objekt zeichnet nicht alle Bilder AWT, Swing, JavaFX & SWT 3
N Graphics Objekt "puffern" AWT, Swing, JavaFX & SWT 7
L Objekt in JComboBox einfügen AWT, Swing, JavaFX & SWT 2
S JComboBox, ein Renderer und das selektierte Objekt AWT, Swing, JavaFX & SWT 4
R Graphics Objekt ändern AWT, Swing, JavaFX & SWT 11
B actionPerformed reagiert nicht auf das Canvas-objekt AWT, Swing, JavaFX & SWT 11
J DocumentListener uebergibt Objekt; wie in JTextfield casten? AWT, Swing, JavaFX & SWT 3
B Objekt in "actionPerformed" erzeugen und nutzen AWT, Swing, JavaFX & SWT 3
P JSpinner Objekt anstatt Zahlen sollen man Namen auswählen AWT, Swing, JavaFX & SWT 2
B Ein Image Objekt drehen? AWT, Swing, JavaFX & SWT 2
G Referenz über MenuItem aus ActionListener auf das Objekt AWT, Swing, JavaFX & SWT 8
lin Welches Objekt für einen About-Dialog verwenden? AWT, Swing, JavaFX & SWT 2
R Selectable Graphics Objekt gesucht. AWT, Swing, JavaFX & SWT 5
Wildcard FontMetrics ohne Graphics-Objekt AWT, Swing, JavaFX & SWT 13
S objekt kann methode der aufrufenden klasse nicht aufrufen AWT, Swing, JavaFX & SWT 2
Y Objekt in JFrame AWT, Swing, JavaFX & SWT 3
M Objekt in TableCellRenderer packen, warum ein Fehler? AWT, Swing, JavaFX & SWT 2
K Objekt in eine bestimmte Zelle eines JTables legen AWT, Swing, JavaFX & SWT 3
D getResource() bei Image-Objekt AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen

Neue Themen


Oben