-1
p1label.setIcon(p1icon);
p2label.setIcon(p2icon);
p3label.setIcon(p3icon);
p4label.setIcon(p4icon);
p1label.setTransferHandler(new TransferHandler("p1"));
p2label.setTransferHandler(new TransferHandler("p2"));
p3label.setTransferHandler(new TransferHandler("p3"));
p4label.setTransferHandler(new TransferHandler("p4"));
MouseMotionListener mouseAction = new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
JComponent label = (JComponent) e.getSource();
TransferHandler th = label.getTransferHandler();
th.exportAsDrag(label,e,TransferHandler.COPY);
}
};
p1label.addMouseMotionListener(mouseAction);
p2label.addMouseMotionListener(mouseAction);
p3label.addMouseMotionListener(mouseAction);
p4label.addMouseMotionListener(mouseAction);
这里是我的代码,添加一个mouseMotionListener到JLabel。我希望玩家拖动其中一个图标并将其移动到其他任何地方。然而,没有一个图像移动了一下,没有发生任何事情(也没有错误信息)。如何添加拖放到包含图像的JLabel?
我还是Java GUI的新手。请帮忙。