Class TransferHandler.TransferSupport
- Enclosing class:
- TransferHandler
The main purpose of this class is to provide the information needed by a developer to determine the suitability of a transfer or to import the data contained within. But it also doubles as a controller for customizing properties during drag and drop, such as whether or not to show the drop location, and which drop action to use.
 Developers typically need not create instances of this
 class. Instead, they are something provided by the DnD
 implementation to certain methods in TransferHandler.
- Since:
- 1.6
- See Also:
- 
Constructor SummaryConstructorsConstructorDescriptionTransferSupport(Component component, Transferable transferable) Create aTransferSupportwithisDrop()falsefor the given component andTransferable.
- 
Method SummaryModifier and TypeMethodDescriptionReturns the target component of this transfer.Returns the data flavors for this transfer.intReturns the action chosen for the drop, when thisTransferSupportrepresents a drop.Returns the current (non-null) drop location for the component, when thisTransferSupportrepresents a drop.intReturns the drag source's supported drop actions, when thisTransferSupportrepresents a drop.Returns theTransferableassociated with this transfer.intReturns the user drop action for the drop, when thisTransferSupportrepresents a drop.booleanReturns whether or not the given data flavor is supported.booleanisDrop()Returns whether or not thisTransferSupportrepresents a drop operation.voidsetDropAction(int dropAction) Sets the drop action for the transfer - which must represent a drop - to the given action, instead of the default user drop action.voidsetShowDropLocation(boolean showDropLocation) Sets whether or not the drop location should be visually indicated for the transfer - which must represent a drop.
- 
Constructor Details- 
TransferSupportCreate aTransferSupportwithisDrop()falsefor the given component andTransferable.- Parameters:
- component- the target component
- transferable- the transferable
- Throws:
- NullPointerException- if either parameter is- null
 
 
- 
- 
Method Details- 
isDroppublic boolean isDrop()Returns whether or not thisTransferSupportrepresents a drop operation.- Returns:
- trueif this is a drop operation,- falseotherwise.
 
- 
getComponentReturns the target component of this transfer.- Returns:
- the target component
 
- 
getDropLocationReturns the current (non-null) drop location for the component, when thisTransferSupportrepresents a drop.Note: For components with built-in drop support, this location will be a subclass of DropLocationof the same type returned by that component'sgetDropLocationmethod.This method is only for use with drag and drop transfers. Calling it when isDrop()isfalseresults in anIllegalStateException.- Returns:
- the drop location
- Throws:
- IllegalStateException- if this is not a drop
- See Also:
 
- 
setShowDropLocationpublic void setShowDropLocation(boolean showDropLocation) Sets whether or not the drop location should be visually indicated for the transfer - which must represent a drop. This is applicable to those components that automatically show the drop location when appropriate during a drag and drop operation. By default, the drop location is shown only when theTransferHandlerhas said it can accept the import represented by thisTransferSupport. With this method you can force the drop location to always be shown, or always not be shown.This method is only for use with drag and drop transfers. Calling it when isDrop()isfalseresults in anIllegalStateException.- Parameters:
- showDropLocation- whether or not to indicate the drop location
- Throws:
- IllegalStateException- if this is not a drop
- See Also:
 
- 
setDropActionpublic void setDropAction(int dropAction) Sets the drop action for the transfer - which must represent a drop - to the given action, instead of the default user drop action. The action must be supported by the source's drop actions, and must be one ofCOPY,MOVEorLINK.This method is only for use with drag and drop transfers. Calling it when isDrop()isfalseresults in anIllegalStateException.- Parameters:
- dropAction- the drop action
- Throws:
- IllegalStateException- if this is not a drop
- IllegalArgumentException- if an invalid action is specified
- See Also:
 
- 
getDropActionpublic int getDropAction()Returns the action chosen for the drop, when thisTransferSupportrepresents a drop.Unless explicitly chosen by way of setDropAction, this returns the user drop action provided bygetUserDropAction.You may wish to query this in TransferHandler'simportDatamethod to customize processing based on the action.This method is only for use with drag and drop transfers. Calling it when isDrop()isfalseresults in anIllegalStateException.- Returns:
- the action chosen for the drop
- Throws:
- IllegalStateException- if this is not a drop
- See Also:
 
- 
getUserDropActionpublic int getUserDropAction()Returns the user drop action for the drop, when thisTransferSupportrepresents a drop.The user drop action is chosen for a drop as described in the documentation for DropTargetDragEventandDropTargetDropEvent. A different action may be chosen as the drop action by way of thesetDropActionmethod.You may wish to query this in TransferHandler'scanImportmethod when determining the suitability of a drop or when deciding on a drop action to explicitly choose.This method is only for use with drag and drop transfers. Calling it when isDrop()isfalseresults in anIllegalStateException.- Returns:
- the user drop action
- Throws:
- IllegalStateException- if this is not a drop
- See Also:
 
- 
getSourceDropActionspublic int getSourceDropActions()Returns the drag source's supported drop actions, when thisTransferSupportrepresents a drop.The source actions represent the set of actions supported by the source of this transfer, and are represented as some bitwise-OR combination of COPY,MOVEandLINK. You may wish to query this inTransferHandler'scanImportmethod when determining the suitability of a drop or when deciding on a drop action to explicitly choose. To determine if a particular action is supported by the source, bitwise-AND the action with the source drop actions, and then compare the result against the original action. For example:boolean copySupported = (COPY & getSourceDropActions()) == COPY; This method is only for use with drag and drop transfers. Calling it when isDrop()isfalseresults in anIllegalStateException.- Returns:
- the drag source's supported drop actions
- Throws:
- IllegalStateException- if this is not a drop
- See Also:
 
- 
getDataFlavorsReturns the data flavors for this transfer.- Returns:
- the data flavors for this transfer
 
- 
isDataFlavorSupportedReturns whether or not the given data flavor is supported.- Parameters:
- df- the- DataFlavorto test
- Returns:
- whether or not the given flavor is supported.
 
- 
getTransferableReturns theTransferableassociated with this transfer.Note: Unless it is necessary to fetch the Transferabledirectly, use one of the other methods on this class to inquire about the transfer. This may perform better than fetching theTransferableand asking it directly.- Returns:
- the Transferableassociated with this transfer
 
 
-