package org.rr.commons.swing.dnd; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.util.LinkedList; import java.util.List; public class FileTransferable implements Transferable { private List<String> fileList; public FileTransferable(List<String> files) { fileList = new LinkedList<>(files); } // Returns an object which represents the data to be transferred. public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException { if (flavor.equals(DataFlavor.javaFileListFlavor)) { return fileList; } throw new UnsupportedFlavorException(flavor); } // Returns an array of DataFlavor objects indicating the flavors // the data can be provided in. public DataFlavor[] getTransferDataFlavors() { return new DataFlavor[] { DataFlavor.javaFileListFlavor }; } // Returns whether or not the specified data flavor is supported for this object. public boolean isDataFlavorSupported(DataFlavor flavor) { return flavor.equals(DataFlavor.javaFileListFlavor); } }