javax.swing

Class TransferHandler

public class TransferHandler extends Object implements Serializable

Field Summary
static intCOPY
static intCOPY_OR_MOVE
static intMOVE
static intNONE
Constructor Summary
protected TransferHandler()
TransferHandler(String property)
Method Summary
booleancanImport(JComponent c, DataFlavor[] flavors)
Returns true if the data in this TransferHandler can be imported into the specified component.
protected TransferablecreateTransferable(JComponent c)
Creates a {@link Transferable} that can be used to export data from the specified component.
voidexportAsDrag(JComponent c, InputEvent e, int action)
protected voidexportDone(JComponent c, Transferable data, int action)
This method is invoked after data has been exported.
voidexportToClipboard(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 ActiongetCopyAction()
static ActiongetCutAction()
static ActiongetPasteAction()
intgetSourceActions(JComponent c)
IcongetVisualRepresentation(Transferable t)
booleanimportData(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.

Field Detail

COPY

public static final int COPY

COPY_OR_MOVE

public static final int COPY_OR_MOVE

MOVE

public static final int MOVE

NONE

public static final int NONE

Constructor Detail

TransferHandler

protected TransferHandler()

TransferHandler

public TransferHandler(String property)

Method Detail

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 {@link 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 {@link 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)
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 {@link #getSourceActions(JComponent)}. If the action is not allowed, then no export is performed. In either case the method {@link #exportDone} will be called with the action that has been performed, or {@link #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

getCopyAction

public static Action getCopyAction()

getCutAction

public static Action getCutAction()

getPasteAction

public static Action getPasteAction()

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