2016-04-25 1 views
0

Ich habe einen Code zum Ziehen einer Maus mit Label-Breite.Java, Wenn ein ziehbares Objekt ein anderes Objekt berührt

lbl_banner.addMouseListener(new MouseAdapter() 
{ 
    @Override 
    public void mousePressed(MouseEvent e) { 
     //catching the current values for x,y coordinates on screen 
     x_pressed = e.getX(); 
     y_pressed = e.getY(); 
    } 
}); 

lbl_banner.addMouseMotionListener(new MouseMotionAdapter(){ 
    @Override 
    public void mouseDragged(MouseEvent e){ 
     //and when the Jlabel is dragged 
     setLocation(e.getXOnScreen() - x_pressed, e.getYOnScreen() - y_pressed); 
    } 
}); 

Nun, wie kann ich eine Funktion: Während ich dieses Label bin Ziehen auf dem Bildschirm, wenn das Etikett durch Berührungen anderes Objekt zieht (Label, Button, ...) etwas zu tun.

if(//labelTouchesSomething){//do something} 

Antwort

2

Während dies technisch nicht schlepp ist aber die dynamische Bewegung einer Komponente (Schleppen sind die Übertragung von Inhalten zwischen Komponenten), können Sie den Schnittpunkt der aktuellen bewegende Komponente gegen andere Komponenten berechnen (dies benötigt etwas Navigation innerhalb Ihrer Hierarchie). Kann dir das helfen: How do I detect the collison of components?. Sie können auch die Methoden contains von Component verwenden, um festzustellen, ob sich einige Koordinaten in einer Komponente befinden oder nicht.

+0

Ok, ich werde es tun. – Salmeh

Verwandte Themen