/* Copyright (C) 2003-2011 JabRef contributors. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // 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 ; } }