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

 lab1.addMouseMotionListener(new InfoListener());


这是鼠标

 public void mouseDragged(MouseEvent me){

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

    }


当我单击并拖动标签时,位置在面板的移动点和原始位置之间交替,并且没有完全移动到我想要的位置。该面板为空布局,最初我也提到过setBounds。

最佳答案

那这个呢?

Point p=me.getPoint();

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

09-28 12:33