ich möchte gerne meine komponenten mit der maus in meinem container verschieben können. dazu verwende ich das null layout und folgende mouse(motion)listener. allerdings habe ich scheinbar irgendwo einen denkfehler eingebaut, da sich das zu verschiebende objekt nicht direkt mit dem cursor mitbewegt sonder immer etwas verschoben (in der regel ca. 100 px nach oben). weiß jemand wie ich das ganze besser bewertställige?
danke im vorraus lg
Code
Point mouse_loc;
MouseListener ml = new MouseAdapter()
{
public void mousePressed(MouseEvent e) { mouse_loc = new Point(e.getX(),e.getY()); }
public void mouseReleased(MouseEvent e)
{
if(e.isPopupTrigger() || e.isControlDown())
{
// popup menu
}
}
};
MouseMotionListener mml = new MouseMotionAdapter()
{
public void mouseDragged(MouseEvent e)
{
if(e.getYOnScreen()-mouse_loc.y>0 && e.getXOnScreen()-mouse_loc.x>0)
{
MoveableObject.this.setLocation(e.getXOnScreen()-mouse_loc.x,e.getYOnScreen()-mouse_loc.y);
}
}
};
Alles anzeigen