javax.swing
Class TransferHandler

java.lang.Object
  extended by javax.swing.TransferHandler
All Implemented Interfaces:
Serializable

public class TransferHandler
extends Object
implements Serializable

See Also:
Serialized Form

Field Summary
static int COPY
           
static int COPY_OR_MOVE
           
static int MOVE
           
static int NONE
           
 
Constructor Summary
protected TransferHandler()
           
  TransferHandler(String property)
           
 
Method Summary
 boolean canImport(JComponent c, DataFlavor[] flavors)
          Returns true if the data in this TransferHandler can be imported into the specified component.
protected  Transferable createTransferable(JComponent c)
          Creates a Transferable that can be used to export data from the specified component.
 void exportAsDrag(JComponent c, InputEvent e, int action)
           
protected  void exportDone(JComponent c, Transferable data, int action)
          This method is invoked after data has been exported.
 void exportToClipboard(JComponent c, Clipboard clip, int action)
          Exports the property of the component c that was specified for this TransferHandler to the clipboard, performing the specified action.
static Action getCopyAction()
           
static Action getCutAction()
           
static Action getPasteAction()
           
 int getSourceActions(JComponent c)
           
 Icon getVisualRepresentation(Transferable t)
           
 boolean importData(JComponent c, Transferable t)
          Imports the transfer data represented by t into the specified component c by setting the property of this TransferHandler on that component.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NONE

public static final int NONE
See Also:
Constant Field Values

COPY

public static final int COPY
See Also:
Constant Field Values

MOVE

public static final int MOVE
See Also:
Constant Field Values

COPY_OR_MOVE

public static final int COPY_OR_MOVE
See Also:
Constant Field Values
Constructor Detail

TransferHandler

protected TransferHandler()

TransferHandler

public TransferHandler(String property)
Method Detail

getCopyAction

public static Action getCopyAction()

getCutAction

public static Action getCutAction()

getPasteAction

public static Action getPasteAction()

canImport

public boolean canImport(JComponent c,
                         DataFlavor[] flavors)
Returns true if the data in this TransferHandler can be imported into the specified component. This will be the case when:

createTransferable

protected Transferable createTransferable(JComponent c)
Creates a Transferable that can be used to export data from the specified component. This method returns null when the specified component doesn't have a readable property that matches the property name specified in the TransferHandler constructor.

Parameters:
c - the component to create a transferable for
Returns:
a Transferable that can be used to export data from the specified component, or null if the component doesn't have a readable property like the transfer handler

exportAsDrag

public void exportAsDrag(JComponent c,
                         InputEvent e,
                         int action)

exportDone

protected void exportDone(JComponent c,
                          Transferable data,
                          int action)
This method is invoked after data has been exported. Subclasses should implement this method to remove the data that has been transferred when the action was MOVE. The default implementation does nothing because MOVE is not supported.

Parameters:
c - the source component
data - the data that has been transferred or null when the action is NONE
action - the action that has been performed

exportToClipboard

public void exportToClipboard(JComponent c,
                              Clipboard clip,
                              int action)
                       throws IllegalStateException
Exports the property of the component c that was specified for this TransferHandler to the clipboard, performing the specified action. This will check if the action is allowed by calling getSourceActions(JComponent). If the action is not allowed, then no export is performed. In either case the method exportDone(javax.swing.JComponent, java.awt.datatransfer.Transferable, int) will be called with the action that has been performed, or NONE if the action was not allowed or could otherwise not be completed. Any IllegalStateException that is thrown by the Clipboard due to beeing unavailable will be propagated through this method.

Parameters:
c - the component from which to export
clip - the clipboard to which the data will be exported
action - the action to perform
Throws:
IllegalStateException - when the clipboard is not available

getSourceActions

public int getSourceActions(JComponent c)

getVisualRepresentation

public Icon getVisualRepresentation(Transferable t)

importData

public boolean importData(JComponent c,
                          Transferable t)
Imports the transfer data represented by t into the specified component c by setting the property of this TransferHandler on that component. If this succeeds, this method returns true, otherwise false.

Parameters:
c - the component to import into
t - the transfer data to import
Returns:
true if the transfer succeeds, false otherwise