javax.swing.plaf.basic
Class BasicTextUI.TextTransferHandler

java.lang.Object
  extended byjavax.swing.TransferHandler
      extended byjavax.swing.plaf.basic.BasicTextUI.TextTransferHandler
All Implemented Interfaces:
Serializable, UIResource
Enclosing class:
BasicTextUI

static class BasicTextUI.TextTransferHandler
extends TransferHandler
implements UIResource


Nested Class Summary
(package private) static class BasicTextUI.TextTransferHandler.TextTransferable
          A possible implementation of the Transferable interface for text components.
 
Nested classes inherited from class javax.swing.TransferHandler
 
Field Summary
private  JTextComponent exportComp
           
private  int p0
           
private  int p1
           
private  boolean shouldRemove
           
 
Fields inherited from class javax.swing.TransferHandler
COPY, COPY_OR_MOVE, MOVE, NONE
 
Constructor Summary
(package private) BasicTextUI.TextTransferHandler()
           
 
Method Summary
 boolean canImport(JComponent comp, DataFlavor[] flavors)
          This method indicates if a component would accept an import of the given set of data flavors prior to actually attempting to import it.
protected  Transferable createTransferable(JComponent comp)
          Create a Transferable to use as the source for a data transfer.
protected  void exportDone(JComponent source, Transferable data, int action)
          This method is called after data has been exported.
protected  DataFlavor getImportFlavor(DataFlavor[] flavors, JTextComponent c)
          Try to find a flavor that can be used to import a Transferable.
 int getSourceActions(JComponent c)
          This is the type of transfer actions supported by the source.
protected  void handleReaderImport(Reader in, JTextComponent c, boolean useRead)
          Import the given stream data into the text component.
 boolean importData(JComponent comp, Transferable t)
          This method causes a transfer to a component from a clipboard or a DND drop operation.
 
Methods inherited from class javax.swing.TransferHandler
exportAsDrag, exportToClipboard, getCopyAction, getCutAction, getPasteAction, getVisualRepresentation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

exportComp

private JTextComponent exportComp

shouldRemove

private boolean shouldRemove

p0

private int p0

p1

private int p1
Constructor Detail

BasicTextUI.TextTransferHandler

BasicTextUI.TextTransferHandler()
Method Detail

getImportFlavor

protected DataFlavor getImportFlavor(DataFlavor[] flavors,
                                     JTextComponent c)
Try to find a flavor that can be used to import a Transferable. The set of usable flavors are tried in the following order:
  1. First, an attempt is made to find a flavor matching the content type of the EditorKit for the component.
  2. Second, an attempt to find a text/plain flavor is made.
  3. Third, an attempt to find a flavor representing a String reference in the same VM is made.
  4. Lastly, DataFlavor.stringFlavor is searched for.


handleReaderImport

protected void handleReaderImport(Reader in,
                                  JTextComponent c,
                                  boolean useRead)
                           throws BadLocationException,
                                  IOException
Import the given stream data into the text component.

Throws:
BadLocationException
IOException

getSourceActions

public int getSourceActions(JComponent c)
This is the type of transfer actions supported by the source. Some models are not mutable, so a transfer operation of COPY only should be advertised in that case.

Overrides:
getSourceActions in class TransferHandler
Parameters:
c - The component holding the data to be transfered. This argument is provided to enable sharing of TransferHandlers by multiple components.
Returns:
This is implemented to return NONE if the component is a JPasswordField since exporting data via user gestures is not allowed. If the text component is editable, COPY_OR_MOVE is returned, otherwise just COPY is allowed.

createTransferable

protected Transferable createTransferable(JComponent comp)
Create a Transferable to use as the source for a data transfer.

Overrides:
createTransferable in class TransferHandler
Parameters:
comp - The component holding the data to be transfered. This argument is provided to enable sharing of TransferHandlers by multiple components.
Returns:
The representation of the data to be transfered.

exportDone

protected void exportDone(JComponent source,
                          Transferable data,
                          int action)
This method is called after data has been exported. This method should remove the data that was transfered if the action was MOVE.

Overrides:
exportDone in class TransferHandler
Parameters:
source - The component that was the source of the data.
data - The data that was transferred or possibly null if the action is NONE.
action - The actual action that was performed.

importData

public boolean importData(JComponent comp,
                          Transferable t)
This method causes a transfer to a component from a clipboard or a DND drop operation. The Transferable represents the data to be imported into the component.

Overrides:
importData in class TransferHandler
Parameters:
comp - The component to receive the transfer. This argument is provided to enable sharing of TransferHandlers by multiple components.
t - The data to import
Returns:
true if the data was inserted into the component, false otherwise.

canImport

public boolean canImport(JComponent comp,
                         DataFlavor[] flavors)
This method indicates if a component would accept an import of the given set of data flavors prior to actually attempting to import it.

Overrides:
canImport in class TransferHandler
Parameters:
comp - The component to receive the transfer. This argument is provided to enable sharing of TransferHandlers by multiple components.
flavors - The data formats available
Returns:
true if the data can be inserted into the component, false otherwise.