JLabel innerhalb eines JFrame verschieben

thatIsAFeature

Grünschnabel
Hallo
der Titel sagt alles. Habe bei der Suche nur Anhaltspunkte für wirkliches Drag&Drop gefunden, also von Anwendung zu Anwendung. Ich möchte aber nur ein JLabel per Drag & Drop innerhalb eines JFrames verschieben.
Welche Listener brauche ich dafür?
Bin schon für gute Links zum Thema dankbar.
 
Hallo,

schau dir mal den MouseMotionListener an. Dieser reagiert auf Mausbewegungen. Da kannst du dann die Position der Maus abfragen und die Position des Labels neu setzen.

MFG

Sascha
 
public void mouseDragged(MouseEvent e) {
jLabel1.setLocation(e.getX(), e.getY());

}

Da ruckelt das Bild aber immer hin und her und landet nicht wirklich da wo die Maustaste losgelassen wird!
 
Hey Danke, das Problem war das Ausversehen der JFrame und das JLabel den Selben MouseMotion Listener implementiert hatten, dadurch das Ruckeln.
Aber während des verschiebens war der Mauszeiger über der linken Ecke des Labels, damit der Mauszeiger in der Mitte des Labels positioniert wird habe ich mir folgendes überlegt:
Code:
 public void mouseDragged(MouseEvent e) {
      jLabel1.setLocation(e.getX()-jLabel1.getWidth()/2,
(int) ((int) e.getY() - Label1.getHeight() / 1.3));
             
       
    }
Das geht aber sicherlich eleganter oder?
 
Zurück