Class RTATextTransferHandler

  • All Implemented Interfaces:
    Serializable

    public class RTATextTransferHandler
    extends TransferHandler
    Handles the transfer of data to/from an RTextArea via drag-and-drop. This class is pretty much ripped off from a subclass of BasicTextUI. In the future, it will include the ability to drag-and-drop files into RTextAreas (i.e., the text will be inserted into the text area).

    The main reason this class is kept around is so we can subclass it.

    See Also:
    Serialized Form
    • Constructor Detail

      • RTATextTransferHandler

        public RTATextTransferHandler()
    • Method Detail

      • getImportFlavor

        protected DataFlavor getImportFlavor​(DataFlavor[] flavors,
                                             JTextComponent c)
        Try to find a flavor that can be used to import a Transferable to a specified text component. The set of usable flavors are tried in the following order:
        1. First, an attempt is made to find a flavor matching the content tyep 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.
        Parameters:
        flavors - The flavors to check if c will accept them.
        c - The text component to see whether it will accept any of the specified data flavors as input.
      • 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:
        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 iff the data was inserted into the component.
      • 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 iff the data can be inserted.