Я хочу включить функцию перетаскивания над 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 (), выводится «здесь мышь освобождена».
Что не так в этом коде?