Я хочу включить функцию перетаскивания над JLabel, переопределив события мыши над ней, но когда я определяю перетаскивание события mousePressed, mouseReleased не влияет на эту JLabel. Я что-то делаю неправильно?
Thumbnails[I_Loop].setText("1");
Thumbnails[I_Loop].setTransferHandler(new TransferHandler("text"));
Thumbnails[I_Loop].addMouseListener( new MouseAdapter() {
public void mouseReleased(MouseEvent me) {
System.out.println("here mouse released");
}
public void mousePressed(MouseEvent me) {
System.out.println("here mouse pressed");
JComponent comp = (JComponent) me.getSource();
TransferHandler handler = comp.getTransferHandler();
handler.exportAsDrag(comp, me, TransferHandler.COPY);
});
* Эскизы - это массив JLabel
При запуске программы выполняется перетаскивание, но утверждение "здесь мышь выпущено" не печатается. Однако, когда я удаляю код, ответственный за DND, с помощью метода mousePressed(), выводится "здесь мышь выпущена".
Что не так в этом коде?