拖动时鼠标返回原位

时间:2012-03-19 08:20:44

标签: java swing mouse label drag

我创建了一个JLabel lab1。将其添加到面板并将mousemotionlistener添加到标签

 lab1.addMouseMotionListener(new InfoListener());

这是mouseDragged代码

 public void mouseDragged(MouseEvent me){

            lab1=(JLabel)me.getSource();
            lab1.setLocation(me.getPoint());

    }

当我单击并拖动标签时,位置在移动的点和面板的原始位置之间交替,并且不会完全移动到我想要的位置。面板处于null布局,我最初也提到了setBounds。

2 个答案:

答案 0 :(得分:3)

这个怎么样?

Point p=me.getPoint();

lab1.setLocation(p.x+lab1.getX(), p.y+lab1.getY());

答案 1 :(得分:1)

1)此处发布的代码不会谈论您的主题,请使用SSCCE修改您的问题,以mouseDragged(MouseEvent me)

展示您的问题

2)请阅读有关Drag and Drop,示例here

的教程

3)请勿使用AbsoluteLayout,请使用正确的LayoutManager