我创建了一个JLabel lab1。将其添加到面板并将mousemotionlistener添加到标签
lab1.addMouseMotionListener(new InfoListener());
这是mouseDragged代码
public void mouseDragged(MouseEvent me){
lab1=(JLabel)me.getSource();
lab1.setLocation(me.getPoint());
}
当我单击并拖动标签时,位置在移动的点和面板的原始位置之间交替,并且不会完全移动到我想要的位置。面板处于null布局,我最初也提到了setBounds。
答案 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