-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的新手。請幫忙。