1 19 20 package com.sshtools.ui.swing.dnd; 21 22 import java.awt.datatransfer.DataFlavor ; 23 import java.awt.datatransfer.Transferable ; 24 import java.awt.datatransfer.UnsupportedFlavorException ; 25 import java.io.File ; 26 import java.io.IOException ; 27 import java.util.Iterator ; 28 import java.util.Vector ; 29 30 public class FileSelection extends Vector implements Transferable { 31 public static DataFlavor FILE_SELECTION_FLAVOR = new DataFlavor (DataFlavor.javaJVMLocalObjectMimeType, "FileSelection"); 32 33 public FileSelection() { 34 super(); 35 } 36 37 38 public synchronized DataFlavor [] getTransferDataFlavors() { 39 return new DataFlavor [] { FILE_SELECTION_FLAVOR }; 40 } 41 42 43 public boolean isDataFlavorSupported(DataFlavor flavor) { 44 return FILE_SELECTION_FLAVOR == flavor; 45 } 46 47 51 public synchronized Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException , IOException { 52 if (flavor.equals(FILE_SELECTION_FLAVOR)) { 53 return this; 54 } else { 55 throw new UnsupportedFlavorException (flavor); 56 } 57 } 58 59 public String toString() { 60 StringBuffer buf = new StringBuffer ("File selection of"); 61 buf.append(size()); 62 for (Iterator i = iterator(); i.hasNext();) { 63 buf.append("\n"); 64 File file = (File ) i.next(); 65 buf.append(" "); 66 buf.append(file.getAbsolutePath()); 67 buf.append(" ("); 68 try { 69 buf.append(file.length()); 70 } catch (Exception ioe0) { 71 } 72 buf.append(")"); 73 } 74 return buf.toString(); 75 } 76 } | Popular Tags |