Hallo zusammen,
habe folgendes Problem:
Ein JLabel mit Text und Icon soll von einem Fenster in ein anderes gezogen werden. Dabei soll sowohl der Text, als auch das Icon kopiert werden.
Leider kann ich immer nur eins von beiden kopieren. Beide zusammen wollen nicht funktionieren.
Hier der Source-Code zum Label:
public void addKompo(String name, int count) {
labelPos();
JLabel c = new JLabel(name);
MouseListener listener = new DragMouseAdapter();
ImageIcon icon = ladeIcon("pfeil.gif", "Quelle");
linksPanel.add(c);
c.setIcon(icon);
c.addMouseListener(listener);
// Schreibe ich hier "icon" wird das icon kopiert.
c.setTransferHandler(new TransferHandler("text"));
int hoehe = 25;
hoehe = (count * hoehe) + 10;
c.setBounds(15, hoehe, 150, 50);
linksPanel.add(c);
}
Hier die Klasse MouseAdapter:
public class DragMouseAdapter extends MouseAdapter {
public void mousePressed(MouseEvent e) {
JComponent c = (JComponent) e.getSource();
TransferHandler handler = c.getTransferHandler();
handler.exportAsDrag(c, e, TransferHandler.COPY);
}
}
Wie kann ich beides gleichzeitig kopieren?
Danke und Gruß
Marco
habe folgendes Problem:
Ein JLabel mit Text und Icon soll von einem Fenster in ein anderes gezogen werden. Dabei soll sowohl der Text, als auch das Icon kopiert werden.
Leider kann ich immer nur eins von beiden kopieren. Beide zusammen wollen nicht funktionieren.
Hier der Source-Code zum Label:
public void addKompo(String name, int count) {
labelPos();
JLabel c = new JLabel(name);
MouseListener listener = new DragMouseAdapter();
ImageIcon icon = ladeIcon("pfeil.gif", "Quelle");
linksPanel.add(c);
c.setIcon(icon);
c.addMouseListener(listener);
// Schreibe ich hier "icon" wird das icon kopiert.
c.setTransferHandler(new TransferHandler("text"));
int hoehe = 25;
hoehe = (count * hoehe) + 10;
c.setBounds(15, hoehe, 150, 50);
linksPanel.add(c);
}
Hier die Klasse MouseAdapter:
public class DragMouseAdapter extends MouseAdapter {
public void mousePressed(MouseEvent e) {
JComponent c = (JComponent) e.getSource();
TransferHandler handler = c.getTransferHandler();
handler.exportAsDrag(c, e, TransferHandler.COPY);
}
}
Wie kann ich beides gleichzeitig kopieren?
Danke und Gruß
Marco