Class AbstractTreeTransferHandler

  • All Implemented Interfaces:
    java.awt.dnd.DropTargetListener, java.io.Serializable, java.util.EventListener
    Direct Known Subclasses:
    ClientTagTreeTransferHandler, TagTransferHandler

    public abstract class AbstractTreeTransferHandler
    extends javax.swing.TransferHandler
    implements java.awt.dnd.DropTargetListener
    A class that can acts as a 1.4 TransferHandler, and a 1.3 DropTargetListener all at once.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.TransferHandler

        javax.swing.TransferHandler.DropLocation, javax.swing.TransferHandler.TransferSupport
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.awt.Stroke highlightStroke  
      protected javax.swing.tree.TreePath lastHighlight  
      protected java.awt.Rectangle rect  
      protected AutoscrollingJTree tree  
      • Fields inherited from class javax.swing.TransferHandler

        COPY, COPY_OR_MOVE, LINK, MOVE, NONE
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract boolean canPerformAction​(AutoscrollingJTree target, java.util.List<java.awt.datatransfer.DataFlavor> flavors, int action, java.awt.Point location, javax.swing.tree.TreePath dropPath)  
      protected abstract boolean canStartDrag​(javax.swing.tree.TreePath[] paths)  
      protected void clearHighlight()  
      protected java.awt.datatransfer.Transferable createTransferable​(javax.swing.JComponent c)  
      java.awt.datatransfer.Transferable createTransferable​(javax.swing.JComponent c, boolean drag)  
      protected abstract java.awt.datatransfer.Transferable createTransferableForCutCopy​(javax.swing.tree.TreePath[] paths)  
      protected abstract java.awt.datatransfer.Transferable createTransferableForDrag​(javax.swing.tree.TreePath[] paths)  
      void dragEnter​(java.awt.dnd.DropTargetDragEvent dtde)  
      void dragExit​(java.awt.dnd.DropTargetEvent dte)  
      void dragOver​(java.awt.dnd.DropTargetDragEvent dtde)  
      protected void drawHighlight​(javax.swing.tree.TreePath path)  
      void drop​(java.awt.dnd.DropTargetDropEvent dtde)  
      void dropActionChanged​(java.awt.dnd.DropTargetDragEvent dtde)  
      protected abstract boolean executeDrop​(AutoscrollingJTree tree, java.awt.datatransfer.Transferable transferable, javax.swing.tree.TreePath parentTreePath, int action)  
      void exportToClipboard​(javax.swing.JComponent comp, java.awt.datatransfer.Clipboard clip, int action)
      Copied from super so that it calls createTransferableForCutCopy instead of the normal one.
      int getSourceActions​(javax.swing.JComponent c)
      ---------------------------- Methods from TransferHandler ------------------------------
      protected abstract int getSourceActions​(javax.swing.tree.TreePath[] selPaths)
      Override to provide the actions available for the given paths
      protected javax.swing.tree.TreePath pathFor​(java.awt.Point pt)  
      • Methods inherited from class javax.swing.TransferHandler

        canImport, canImport, exportAsDrag, exportDone, getCopyAction, getCutAction, getDragImage, getDragImageOffset, getPasteAction, getVisualRepresentation, importData, importData, setDragImage, setDragImageOffset
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • rect

        protected java.awt.Rectangle rect
      • lastHighlight

        protected javax.swing.tree.TreePath lastHighlight
      • highlightStroke

        protected java.awt.Stroke highlightStroke
    • Constructor Detail

      • AbstractTreeTransferHandler

        protected AbstractTreeTransferHandler​(AutoscrollingJTree tree,
                                              int action,
                                              boolean beADropTarget)
        Parameters:
        tree - The tree in question.
        action - A bitmask to use as the acceptable actions (@see DropTarget.getDefaultActions()
        beADropTarget - Should this tree be a drop target?
    • Method Detail

      • drawHighlight

        protected void drawHighlight​(javax.swing.tree.TreePath path)
      • clearHighlight

        protected void clearHighlight()
      • dragEnter

        public void dragEnter​(java.awt.dnd.DropTargetDragEvent dtde)
        Specified by:
        dragEnter in interface java.awt.dnd.DropTargetListener
      • dragExit

        public void dragExit​(java.awt.dnd.DropTargetEvent dte)
        Specified by:
        dragExit in interface java.awt.dnd.DropTargetListener
      • dragOver

        public void dragOver​(java.awt.dnd.DropTargetDragEvent dtde)
        Specified by:
        dragOver in interface java.awt.dnd.DropTargetListener
      • dropActionChanged

        public void dropActionChanged​(java.awt.dnd.DropTargetDragEvent dtde)
        Specified by:
        dropActionChanged in interface java.awt.dnd.DropTargetListener
      • drop

        public void drop​(java.awt.dnd.DropTargetDropEvent dtde)
        Specified by:
        drop in interface java.awt.dnd.DropTargetListener
      • pathFor

        protected javax.swing.tree.TreePath pathFor​(java.awt.Point pt)
      • getSourceActions

        public int getSourceActions​(javax.swing.JComponent c)
        ---------------------------- Methods from TransferHandler ------------------------------
        Overrides:
        getSourceActions in class javax.swing.TransferHandler
      • getSourceActions

        protected abstract int getSourceActions​(javax.swing.tree.TreePath[] selPaths)
        Override to provide the actions available for the given paths
      • createTransferable

        protected java.awt.datatransfer.Transferable createTransferable​(javax.swing.JComponent c)
        Overrides:
        createTransferable in class javax.swing.TransferHandler
      • createTransferable

        public java.awt.datatransfer.Transferable createTransferable​(javax.swing.JComponent c,
                                                                     boolean drag)
      • exportToClipboard

        public void exportToClipboard​(javax.swing.JComponent comp,
                                      java.awt.datatransfer.Clipboard clip,
                                      int action)
                               throws java.lang.IllegalStateException
        Copied from super so that it calls createTransferableForCutCopy instead of the normal one.
        Overrides:
        exportToClipboard in class javax.swing.TransferHandler
        Throws:
        java.lang.IllegalStateException
      • canStartDrag

        protected abstract boolean canStartDrag​(javax.swing.tree.TreePath[] paths)
      • createTransferableForDrag

        protected abstract java.awt.datatransfer.Transferable createTransferableForDrag​(javax.swing.tree.TreePath[] paths)
      • createTransferableForCutCopy

        protected abstract java.awt.datatransfer.Transferable createTransferableForCutCopy​(javax.swing.tree.TreePath[] paths)
      • canPerformAction

        protected abstract boolean canPerformAction​(AutoscrollingJTree target,
                                                    java.util.List<java.awt.datatransfer.DataFlavor> flavors,
                                                    int action,
                                                    java.awt.Point location,
                                                    javax.swing.tree.TreePath dropPath)
      • executeDrop

        protected abstract boolean executeDrop​(AutoscrollingJTree tree,
                                               java.awt.datatransfer.Transferable transferable,
                                               javax.swing.tree.TreePath parentTreePath,
                                               int action)