Kreise mit einer Maus verschieben

EGJSoldier

Erfahrenes Mitglied
Hallo zusammen,
ich versuche gerade, mehrere Kreise auf ein JPanel zu zeichnen. Das klappt auch schon soweit. Nur sollen die Kreise per Drag and Drop in dem JPanel verschoben werden. Ich habe im Internet diverse Seiten gefunden, die das mit einem Kreis machen. Ich habe aber mehrere. Hat da zufällig einen Codeschnipsel zu? Hier auch noch der Code meiner MainFrame Routine:
Code:
public class MainFrame extends JPanel {
    private Field field;
    private static Players p = Players.getInstance();
   
    public MainFrame() {
        this.field = new Field(10, 5, 40, "test.csv");
        this.field.createField();
       
        Player p1 = new Player(20, 20, 20, this);
        Player p2 = new Player(40, 40, 20, this);

        p.setPlayer(p1);
        p.setPlayer(p2);
    }

    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D g2d  = (Graphics2D) g;
       
        field.drawField(g);

        p.getPlayerList().get(0).drawPlayer(this, g2d);
        p.getPlayerList().get(1).drawPlayer(this, g2d);
    }
}

Danke für die Hilfe

EGJSoldier
 
Zuletzt bearbeitet:
Hallo,

Hat da zufällig einen Codeschnipsel zu?
Das ist wohl eher unwahrscheinlich, aber woran scheiterst du, deine bereits gefundenen Schnipsel zu erweitern?

Grob muss du das so programmieren:

1. Registriere dir einen Event Listener für Mouse Down
2. Registriere dir einen Event Listener für Mouse Move
3 Registriere dir einen Event Listener für Mouse Up
3. Überprüfe, ob und in welchem Kreis sich der Mauszeiger befindet.
4. Bei Mouse Move verschiebst du den Kreis
5. Bei Mouse Up verschiebst du den Kreis endgültig
 

Neue Beiträge

Zurück