org.tbee.swing.dnd
Class StringTransferHandler

java.lang.Object
  extended by javax.swing.TransferHandler
      extended by org.tbee.swing.dnd.StringTransferHandler
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
LabelTransferHandler

public abstract class StringTransferHandler
extends javax.swing.TransferHandler

This is a wrapper class for simple String drag and drop. It converts the whole Drag and drop to three new straight forward methods to implement. Whether this is for a list or table. The only drawback is: it is a string being DnDed. See LabelTransferHandler for an implementation of these methods. It also is a great teacher on how to implement DnD.

Version:
$Revision: 1.6 $
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 inherited from class javax.swing.TransferHandler
COPY, COPY_OR_MOVE, LINK, MOVE, NONE
 
Constructor Summary
StringTransferHandler()
           
 
Method Summary
 boolean canImport(javax.swing.JComponent c, java.awt.datatransfer.DataFlavor[] flavors)
          Check to see if we can import what ever is offered to us
protected  java.awt.datatransfer.Transferable createTransferable(javax.swing.JComponent c)
          This method actually creates the transferable to be exported to somewhere else, uses exportString to get the string.
protected  void exportDone(javax.swing.JComponent c, java.awt.datatransfer.Transferable data, int action)
          The export is done.
protected  java.lang.String exportString(javax.swing.JComponent c)
          Return the string to copy or move.
abstract  int getSourceActions(javax.swing.JComponent c)
          This method determines what can be be done, copy, move or link
 boolean importData(javax.swing.JComponent c, java.awt.datatransfer.Transferable t)
          This method converts an transferable to an importString.
protected  void importString(javax.swing.JComponent c, java.lang.String str)
          Process the string.
protected abstract  boolean isDropTarget()
          Can something be dropped on us
 
Methods inherited from class javax.swing.TransferHandler
canImport, exportAsDrag, exportToClipboard, getCopyAction, getCutAction, getPasteAction, getVisualRepresentation, importData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringTransferHandler

public StringTransferHandler()
Method Detail

getSourceActions

public abstract int getSourceActions(javax.swing.JComponent c)
This method determines what can be be done, copy, move or link

Overrides:
getSourceActions in class javax.swing.TransferHandler
Parameters:
c - the source component

createTransferable

protected java.awt.datatransfer.Transferable createTransferable(javax.swing.JComponent c)
This method actually creates the transferable to be exported to somewhere else, uses exportString to get the string.

Overrides:
createTransferable in class javax.swing.TransferHandler
Parameters:
c - the source component

exportString

protected java.lang.String exportString(javax.swing.JComponent c)
Return the string to copy or move. Return null if no copy or move should be started. Override getSourceActions to prevent appearing like a drag point.

Parameters:
c - the source component
Returns:

exportDone

protected void exportDone(javax.swing.JComponent c,
                          java.awt.datatransfer.Transferable data,
                          int action)
The export is done.

Overrides:
exportDone in class javax.swing.TransferHandler
Parameters:
c - the target component

isDropTarget

protected abstract boolean isDropTarget()
Can something be dropped on us

Returns:

canImport

public boolean canImport(javax.swing.JComponent c,
                         java.awt.datatransfer.DataFlavor[] flavors)
Check to see if we can import what ever is offered to us

Overrides:
canImport in class javax.swing.TransferHandler
Parameters:
c - the target component

importData

public boolean importData(javax.swing.JComponent c,
                          java.awt.datatransfer.Transferable t)
This method converts an transferable to an importString.

Overrides:
importData in class javax.swing.TransferHandler
Parameters:
c - the target component

importString

protected void importString(javax.swing.JComponent c,
                            java.lang.String str)
Process the string. Override isDropTarget to prevent appearing like a drop target.

Parameters:
c - the target component
str -


Copyright © 2010 KnowledgePlaza. All Rights Reserved.