import java.awt.dnd.*; import java.awt.datatransfer.*; import java.io.*; class FlyingNode extends javax.swing.tree.DefaultMutableTreeNode implements java.awt.datatransfer.Transferable { FlyingNode() { super(); } FlyingNode(Object obj) { super(obj); } public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { if(!isDataFlavorSupported(flavor)) throw new UnsupportedFlavorException(flavor); else return this; } public DataFlavor[] getTransferDataFlavors() { DataFlavor temp=null; try{ temp=new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType); } catch(ClassNotFoundException ex) {} DataFlavor[] retour=new DataFlavor[1]; retour[0]=temp; return retour; } public boolean isDataFlavorSupported(DataFlavor flavor) { DataFlavor temp=null; try{ temp=new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType); } catch(ClassNotFoundException ex) {} return (flavor.equals(temp)); } }