package ui; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.io.File; import java.io.IOException; import java.util.List; import javax.swing.TransferHandler; import applications.PaperManager; public class FileDropHandler extends TransferHandler { String rootDir=null; PaperManager p=null; public FileDropHandler(String rootDir, PaperManager p){ super(); this.rootDir = rootDir; this.p = p; } /* (non-Javadoc) * @see javax.swing.TransferHandler#canImport(javax.swing.TransferHandler.TransferSupport) */ @Override public boolean canImport(TransferSupport support) { if(support.isDrop()){ // System.err.println("can import: "); if(support.isDataFlavorSupported(DataFlavor.javaFileListFlavor)){ return true; }else{ return false; } } return false; } /* (non-Javadoc) * @see javax.swing.TransferHandler#importData(javax.swing.TransferHandler.TransferSupport) */ @Override public boolean importData(TransferSupport support) { if(!support.isDrop()){ return false; } System.err.println("Dropped into here!"); Transferable t = support.getTransferable(); List<File> files=null; try { files = (List<File>) t.getTransferData(DataFlavor.javaFileListFlavor); } catch (UnsupportedFlavorException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } for(File f : files){ System.out.println("Got file named: " + f.getName()); if(f.getName().toLowerCase().endsWith("pdf")){ // move to dropbox directory f.renameTo(new File(rootDir + "/" + f.getName())); }else{ return false; } } p.reloadList(); return true; } }