| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.swing.TransferHandler
public class TransferHandler
This class is used to handle the transfer of a Transferable
 to and from Swing components.  The Transferable is used to
 represent data that is exchanged via a cut, copy, or paste 
 to/from a clipboard.  It is also used in drag-and-drop operations
 to represent a drag from a component, and a drop to a component.
 Swing provides functionality that automatically supports cut, copy,
 and paste keyboard bindings that use the functionality provided by
 an implementation of this class.  Swing also provides functionality
 that automatically supports drag and drop that uses the functionality
 provided by an implementation of this class.  The Swing developer can 
 concentrate on specifying the semantics of a transfer primarily by setting
 the transferHandler property on a Swing component.
 
 This class is implemented to provide a default behavior of transferring
 a component property simply by specifying the name of the property in 
 the constructor.  For example, to transfer the foreground color from
 one component to another either via the clipboard or a drag and drop operation
 a TransferHandler can be constructed with the string "foreground".  The
 built in support will use the color returned by getForeground as the source
 of the transfer, and setForeground for the target of a transfer.  
 
Please see How to Use Drag and Drop and Data Transfer, a section in The Java Tutorial, for more information.
| Field Summary | |
|---|---|
| static int | COPYAn intrepresenting a "copy" transfer action. | 
| static int | COPY_OR_MOVEAn intrepresenting a source action capability of either
 "copy" or "move". | 
| static int | MOVEAn intrepresenting a "move" transfer action. | 
| static int | NONEAn intrepresenting no transfer action. | 
| Constructor Summary | |
|---|---|
| protected  | TransferHandler()Convenience constructor for subclasses. | 
|   | TransferHandler(String property)Constructs a transfer handler that can transfer a Java Bean property from one component to another via the clipboard or a drag and drop operation. | 
| Method Summary | |
|---|---|
|  boolean | canImport(JComponent comp,
          DataFlavor[] transferFlavors)Indicates whether a component would accept an import of the given set of data flavors prior to actually attempting to import it. | 
| protected  Transferable | createTransferable(JComponent c)Creates a Transferableto use as the source for
 a data transfer. | 
|  void | exportAsDrag(JComponent comp,
             InputEvent e,
             int action)Causes the Swing drag support to be initiated. | 
| protected  void | exportDone(JComponent source,
           Transferable data,
           int action)Invoked after data has been exported. | 
|  void | exportToClipboard(JComponent comp,
                  Clipboard clip,
                  int action)Causes a transfer from the given component to the given clipboard. | 
| static Action | getCopyAction()Returns an Actionthat behaves like a 'copy' operation. | 
| static Action | getCutAction()Returns an Actionthat behaves like a 'cut' operation. | 
| static Action | getPasteAction()Returns an Actionthat behaves like a 'paste' operation. | 
|  int | getSourceActions(JComponent c)Returns the type of transfer actions supported by the source. | 
|  Icon | getVisualRepresentation(Transferable t)Returns an object that establishes the look of a transfer. | 
|  boolean | importData(JComponent comp,
           Transferable t)Causes a transfer to a component from a clipboard or a DND drop operation. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final int NONE
int representing no transfer action.
public static final int COPY
int representing a "copy" transfer action.
 This value is used when data is copied to a clipboard
 or copied elsewhere in a drag and drop operation.
public static final int MOVE
int representing a "move" transfer action.
 This value is used when data is moved to a clipboard (i.e. a cut)
 or moved elsewhere in a drag and drop operation.
public static final int COPY_OR_MOVE
int representing a source action capability of either
 "copy" or "move".
| Constructor Detail | 
|---|
public TransferHandler(String property)
property - the name of the property to transfer; this can
  be null if there is no property associated with the transfer
  handler (a subclass that performs some other kind of transfer, for example)protected TransferHandler()
| Method Detail | 
|---|
public static Action getCutAction()
Action that behaves like a 'cut' operation.
 That is, this will invoke exportToClipboard with
 a MOVE argument on the TransferHandler
 associated with the JComponent that is the source of
 the ActionEvent.
public static Action getCopyAction()
Action that behaves like a 'copy' operation.
 That is, this will invoke exportToClipboard with
 a COPY argument on the TransferHandler
 associated with the JComponent that is the source of
 the ActionEvent.
public static Action getPasteAction()
Action that behaves like a 'paste' operation.
 That is, this will invoke importData on the
 TransferHandler
 associated with the JComponent that is the source of
 the ActionEvent.
public void exportAsDrag(JComponent comp,
                         InputEvent e,
                         int action)
javax.swing.plaf.basic
 package if the dragEnabled property is set on the component. 
 This can be called by custom UI 
 implementations to use the Swing drag support.  This method can also be called 
 by a Swing extension written as a subclass of JComponent
 to take advantage of the Swing drag support.
 
 The transfer will not necessarily have been completed at the
 return of this call (i.e. the call does not block waiting for the drop).
 The transfer will take place through the Swing implementation of the
 java.awt.dnd mechanism, requiring no further effort
 from the developer. The exportDone method will be called
 when the transfer has completed.
comp - the component holding the data to be transferred; this
  argument is provided to enable sharing of TransferHandlers by
  multiple componentse - the event that triggered the transferaction - the transfer action initially requested; this should
  be a value of either COPY or MOVE;
  the value may be changed during the course of the drag operation
public void exportToClipboard(JComponent comp,
                              Clipboard clip,
                              int action)
                       throws IllegalStateException
 The transfer will take place using the java.awt.datatransfer
 mechanism, requiring no further effort from the developer. Any data
 transfer will be complete and the exportDone
 method will be called with the action that occurred, before this method
 returns. Should the clipboard be unavailable when attempting to place
 data on it, the IllegalStateException thrown by
 Clipboard.setContents(Transferable, ClipboardOwner) will
 be propogated through this method. However, 
 exportDone will first be called with an action
 of NONE for consistency.
comp - the component holding the data to be transferred; this
  argument is provided to enable sharing of TransferHandlers by
  multiple componentsclip - the clipboard to transfer the data intoaction - the transfer action requested; this should
  be a value of either COPY or MOVE;
  the operation performed is the intersection  of the transfer
  capabilities given by getSourceActions and the requested action;
  the intersection may result in an action of NONE
  if the requested action isn't supported
IllegalStateException - if the clipboard is currently unavailableClipboard.setContents(Transferable, ClipboardOwner)
public boolean importData(JComponent comp,
                          Transferable t)
Transferable represents
 the data to be imported into the component.
comp - the component to receive the transfer; this
  argument is provided to enable sharing of TransferHandlers 
  by multiple componentst - the data to import
public boolean canImport(JComponent comp,
                         DataFlavor[] transferFlavors)
comp - the component to receive the transfer; this
  argument is provided to enable sharing of TransferHandlers
  by multiple componentstransferFlavors - the data formats available
public int getSourceActions(JComponent c)
COPY
 only should be advertised in that case.
c - the component holding the data to be transferred; this
  argument is provided to enable sharing of TransferHandlers
  by multiple components.
COPY if the transfer property can be found,
  otherwise returns NONE; a return value of
  of NONE disables any transfers out of the componentpublic Icon getVisualRepresentation(Transferable t)
Icon interface should
 not alter the graphics clip or alpha level. 
 The icon implementation need not be rectangular or paint all of the
 bounding rectangle and logic that calls the icons paint method should
 not assume the all bits are painted. null is a valid return value 
 for this method and indicates there is no visual representation provided.
 In that case, the calling logic is free to represent the
 transferable however it wants.  
 
 The default Swing logic will not do an alpha blended drag animation if
 the return is null.
t - the data to be transferred; this value is expected to have been 
  created by the createTransferable method
null, indicating
    there is no default visual representationprotected Transferable createTransferable(JComponent c)
Transferable to use as the source for
 a data transfer. Returns the representation of the data to
 be transferred, or null if the component's
 property is null
c - the component holding the data to be transferred; this
  argument is provided to enable sharing of TransferHandlers
  by multiple components
null if the property associated with c
  is null
protected void exportDone(JComponent source,
                          Transferable data,
                          int action)
MOVE.
 
 This method is implemented to do nothing since MOVE
 is not a supported action of this implementation
 (getSourceActions does not include MOVE).
source - the component that was the source of the datadata - The data that was transferred or possibly null
               if the action is NONE.action - the actual action that was performed| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.