ich verstehe gerade nicht die Methode

Henri

Bekanntes Mitglied
Kann jemandem hier mir kurz erklären, wie diese Methode funktioniert?
getX() und getY() kenne ich pointerColor und pointerSize sind Attribute kenne ich auch,
points ist eine ArrayList.
Vielen Dank im Voraus.
Java:
    public DrawPanel() {

       this.addMouseListener(new MouseAdapter() {

           public void mousePressed(MouseEvent e) {

               points.add(new Point(e.getX() - (pointerSize / 2), e.getY() - (pointerSize / 2), pointerSize,
                       pointerColor, pointerType));

               repaint();

           }

       });
   }
[code]
 
Weiß nicht was genau du erklärt bekommen möchtest:

Die kurze Variante wäre:
Immer wenn ein MouseEvent ausgelöst wird (in deinem Fall das Event mousePressed [also wenn deine Maustaste gedrückt wird]) wird ein neues Point-Objekt in deine ArrayList hinzugefügt.
Danach wird repaint() aufgerufen - dein parent (ich nehme mal an, dass es ein JPanel ist? ) wird dann neu gezeichnet, da sicherlich irgendwo was mit dem Point Objekt aus der ArrayListe gemacht wird.

Gruß
Robert
 
Weiß nicht was genau du erklärt bekommen möchtest:

Die kurze Variante wäre:
Immer wenn ein MouseEvent ausgelöst wird (in deinem Fall das Event mousePressed [also wenn deine Maustaste gedrückt wird]) wird ein neues Point-Objekt in deine ArrayList hinzugefügt.
Danach wird repaint() aufgerufen - dein parent (ich nehme mal an, dass es ein JPanel ist? ) wird dann neu gezeichnet, da sicherlich irgendwo was mit dem Point Objekt aus der ArrayListe gemacht wird.

Gruß
Robert
Vielen Dank Robert für die schnelle Antwort, ja ist ein JPanel
 
Das kann ich dir beim besten Willen nicht sagen, weil man das dem Programm nicht entnehmen kann.
Ich weiß weder was pointerSize ist, noch was das Programm eigentlich tut.
 
Ich biete mal meine Vermutung an:

Beim repaint wird für jeden "Point" ein kleines Quadrat gezeichnet mit der height und width "pointerSize". Würde man jetzt nur jeweils die x/y Koordinaten des Klicks in die Points stecken würde das logischerweise die linke obere Ecke des Quadrats bedeuten.
Indem man die Hälfte der "pointerSize" von der x/y Koordinate abzieht erhält man ein mittig plaziertes Quadrat.
 

Zurück
Oben