/*
based on "Clipboard copy and paste" demo from http://www.javapractices.com/Topic82.cjp
*/
// created by : r.nagel 14.09.2004
//
// function : handle all clipboard action
//
// modified :
package net.sf.jabref ;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.ClipboardOwner;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;
public class ClipBoardManager implements ClipboardOwner
{
public static ClipBoardManager clipBoard = new ClipBoardManager() ;
/**
* Empty implementation of the ClipboardOwner interface.
*/
public void lostOwnership( Clipboard aClipboard, Transferable aContents )
{
//do nothing
}
/**
* Place a String on the clipboard, and make this class the
* owner of the Clipboard's contents.
*/
public void setClipboardContents( String aString )
{
StringSelection stringSelection = new StringSelection( aString ) ;
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard() ;
clipboard.setContents( stringSelection, this ) ;
}
/**
* Get the String residing on the clipboard.
*
* @return any text found on the Clipboard; if none found, return an
* empty String.
*/
public String getClipboardContents()
{
String result = "" ;
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard() ;
//odd: the Object param of getContents is not currently used
Transferable contents = clipboard.getContents( null ) ;
if ( ( contents != null ) &&
contents.isDataFlavorSupported( DataFlavor.stringFlavor ) )
{
try
{
result = ( String ) contents.getTransferData( DataFlavor.stringFlavor ) ;
}
catch ( UnsupportedFlavorException ex )
{
//highly unlikely since we are using a standard DataFlavor
System.out.println( ex ) ;
}
catch ( IOException ex )
{
System.out.println( ex ) ;
}
}
return result ;
}
}