Hallo Leute,
ich habe ein Problem, und zwar will ich ein Icon verschieben und dabei soll das QuellIcon das "Bild" vom ZielIcon übernehmen, ich habe es mit mouseReleased versucht, aber da passiert garnichts irgendwie.
Hier mein QuellText:
ich habe ein Problem, und zwar will ich ein Icon verschieben und dabei soll das QuellIcon das "Bild" vom ZielIcon übernehmen, ich habe es mit mouseReleased versucht, aber da passiert garnichts irgendwie.
Hier mein QuellText:
Java:
class DragMouseAdapter extends MouseAdapter {
JComponent c;
public void mousePressed(MouseEvent e) {
c = (JComponent) e.getSource();
TransferHandler handler = c.getTransferHandler();
handler.exportAsDrag(c, e, TransferHandler.COPY);
}
public void mouseReleased(MouseEvent ev) {
JComponent jc = (JComponent) c.getDropTarget().getComponent();
c.add(jc);
}
}
public class IconDnD {
public static void main(String[] args) {
JFrame f = new JFrame("Icon Drag & Drop");
f.setSize(500, 500);
ImageIcon icon1 = new ImageIcon("bla.gif");
ImageIcon icon2 = new ImageIcon("blu.gif");
ImageIcon icon3 = new ImageIcon("bli.gif");
JLabel label3 = new JLabel(icon3);
JLabel label1 = new JLabel(icon1);
JLabel label2 = new JLabel(icon2);
MouseListener listener = new DragMouseAdapter();
label3.addMouseListener(listener);
label1.addMouseListener(listener);
label2.addMouseListener(listener);
label1.setTransferHandler(new TransferHandler("icon"));
label3.setTransferHandler(new TransferHandler("icon"));
label2.setTransferHandler(new TransferHandler("icon"));
f.add(label3, BorderLayout.WEST);
f.add(label1, BorderLayout.EAST);
f.add(label2, BorderLayout.NORTH);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
Zuletzt bearbeitet: