我可以拖动JLabel
并将自定义对象插入其中,还是应该使用其他组件?但是我必须使用TransferHandler
和exportAsDrag
。
我的代码:
final JLabel label1 = new JLabel("Drag here");
Collection<Person> person= new ArrayList<Person>();
//Register transferhandler objects on them label1 transfer itss
//foreground coloer label2 transfer its backgroundcolor
//need here a Transferable to put the object
label1.setTransferHandler(new TransferHandler(....));
label1.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
TransferHandler handler = label1.getTransferHandler();
handler.exportAsDrag(label1, e, TransferHandler.COPY);
}
});
最佳答案
取决于您要拖动的内容-JLabel
或仅是文本。
拖动对象时,将创建所拖动对象的“模型”,拖放对象时,通常会基于该模型在目标位置创建新对象。