area//接受拖拽内容的控件
new DropTarget(area, DnDConstants.ACTION_COPY_OR_MOVE,new DropTargetAdapter(){
@Override
public void drop(DropTargetDropEvent dtde){
try{
// 如果拖入的文件格式受支持
if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor)){
// 接收拖拽来的数据
dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
@SuppressWarnings("unchecked")
List<File> list = (List<File>) (dtde.getTransferable().getTransferData(DataFlavor.javaFileListFlavor));
for (File file : list){
area.append(file.getAbsolutePath());
}
// 指示拖拽操作已完成
dtde.dropComplete(true);
}else{
// 拒绝拖拽来的数据
dtde.rejectDrop();
}
} catch (Exception e) {
e.printStackTrace();
}
}
});