com.jaxfront.core.clipboard
Class SimpleClipboardSelection

java.lang.Object
  extended by com.jaxfront.core.clipboard.SimpleClipboardSelection
All Implemented Interfaces:
java.awt.datatransfer.ClipboardOwner, java.awt.datatransfer.Transferable

public class SimpleClipboardSelection
extends java.lang.Object
implements java.awt.datatransfer.Transferable, java.awt.datatransfer.ClipboardOwner

This nested class implements the Transferable and ClipboardOwner interfaces used in data transfer. It is a simple class that remembers a selected object and makes it available in only one specified flavor. It would be useful for transferring other types of data, too.


Field Summary
static java.awt.datatransfer.DataFlavor dataFlavor
          The DataFlavor used for our particular type of cut-and-paste data.
 
Constructor Summary
SimpleClipboardSelection(java.lang.Object selection, java.awt.datatransfer.DataFlavor flavor)
          The constructor.
 
Method Summary
static void copy(java.lang.Object source, java.awt.datatransfer.DataFlavor dataFlavor)
           
 java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor f)
          If the flavor is right, transfer the data (i.e. return it)
 java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
          Return the list of supported flavors.
 boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor f)
          Check whether we support a specified flavor
 void lostOwnership(java.awt.datatransfer.Clipboard c, java.awt.datatransfer.Transferable t)
          This is the ClipboardOwner method.
static void paste()
          Ask for the Transferable contents of the system clipboard.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dataFlavor

public static final java.awt.datatransfer.DataFlavor dataFlavor
The DataFlavor used for our particular type of cut-and-paste data. This one will transfer data in the form of a serialized Vector object. Note that in Java 1.1.1, this works intra-application, but not between applications. Java 1.1.1 inter-application data transfer is limited to the pre-defined string and text data flavors.

Constructor Detail

SimpleClipboardSelection

public SimpleClipboardSelection(java.lang.Object selection,
                                java.awt.datatransfer.DataFlavor flavor)
The constructor. Just initialize some fields

Method Detail

getTransferDataFlavors

public java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
Return the list of supported flavors. Just one in this case

Specified by:
getTransferDataFlavors in interface java.awt.datatransfer.Transferable

isDataFlavorSupported

public boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor f)
Check whether we support a specified flavor

Specified by:
isDataFlavorSupported in interface java.awt.datatransfer.Transferable

getTransferData

public java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor f)
                                 throws java.awt.datatransfer.UnsupportedFlavorException
If the flavor is right, transfer the data (i.e. return it)

Specified by:
getTransferData in interface java.awt.datatransfer.Transferable
Throws:
java.awt.datatransfer.UnsupportedFlavorException

lostOwnership

public void lostOwnership(java.awt.datatransfer.Clipboard c,
                          java.awt.datatransfer.Transferable t)
This is the ClipboardOwner method. Called when the data is no longer on the clipboard. In this case, we don't need to do much.

Specified by:
lostOwnership in interface java.awt.datatransfer.ClipboardOwner

copy

public static void copy(java.lang.Object source,
                        java.awt.datatransfer.DataFlavor dataFlavor)

paste

public static void paste()
Ask for the Transferable contents of the system clipboard. Then ask that Transferable object for the scribble data it represents. If either step fails, beep!