Pessoal, estou com uma duvida na utilização do drag n drop com swing. Estou implementando um sistema onde existe um JTree e um JList e os objetos deste JTree podem ser arrastados para o JList. Quando eu trato apenas como String da certo, mas queria saber como eu posso fazer para incluir exatamente o Objeto que foi arrastado. O método toString() do objeto que eu quero transferir ja foi implementado… minha dúvida eh em que DataFlavor usar para isso, pois para passar como String eu uso DataFlavor.stringFlavor. Segue o método que eu to fazendo isso:
public boolean importData(TransferHandler.TransferSupport info) {
if (!info.isDrop()) {
return false;
}
JList list = (JList)info.getComponent();
DefaultListModel listModel = (DefaultListModel)list.getModel();
JList.DropLocation dl = (JList.DropLocation)info.getDropLocation();
int index = dl.getIndex();
boolean insert = dl.isInsert();
Transferable t = info.getTransferable();
String data;
try {
data = (String)t.getTransferData(DataFlavor.stringFlavor); //aqui esta minha duvida
}
catch (Exception e) { return false; }
if (insert) {
listModel.add(index, data);
} else {
listModel.set(index, data);
}
return true;
}
Quem puder ajudar ai eu agradeço. Vlw