Мышь возвращается в исходное положение при перетаскивании - PullRequest
0 голосов
/ 19 марта 2012

Я создал лабораторию JLabel1. Добавил его на панель и добавил мышиный слогатель на ярлык

 lab1.addMouseMotionListener(new InfoListener());

Вот код мыши, перетаскиваемый

 public void mouseDragged(MouseEvent me){

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

    }

Когда я щелкаю и перетаскиваю метку, позиция чередуется между перемещенной точкой и исходной позицией панели и точно не перемещается туда, куда я хочу. Панель имеет нулевое расположение, и я также упомянул setBounds для нее изначально.

Ответы [ 2 ]

3 голосов
/ 19 марта 2012

Как насчет этого?

Point p=me.getPoint();

lab1.setLocation(p.x+lab1.getX(), p.y+lab1.getY());
1 голос
/ 19 марта 2012

1) код, размещенный здесь, ничего не говорящий о вашей теме, отредактируйте ваш вопрос с помощью SSCCE , демонстрируя вашу проблему с mouseDragged(MouseEvent me)

2) пожалуйста, прочитайте учебник о Drag and Drop , примеры здесь

3) не использовать AbsoluteLayout , использовать правильное LayoutManager

...