/** * */ package fr.unistra.pelican.gui.MultiViews; import java.awt.Image; import java.awt.Toolkit; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; /** * Transferable object to send Java AWT image to the clipboard. * * Use static method copyImageToClipboard for easy use. * * @author Benjamin Perret * */ public class ClipBoardImageTranserferable implements Transferable{ private Image image; public static void copyImageToClipboard(Image image) { ClipBoardImageTranserferable imageTrans = new ClipBoardImageTranserferable(image); Toolkit toolkit = Toolkit.getDefaultToolkit(); try{ toolkit.getSystemClipboard().setContents(imageTrans, null); } catch (Exception e) { System.err.println("Cannot access to clipboard : " +e); } } public ClipBoardImageTranserferable(Image image) { this.image = image; } public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException { if (flavor.equals(DataFlavor.imageFlavor) == false) { throw new UnsupportedFlavorException(flavor); } return image; } public boolean isDataFlavorSupported(DataFlavor flavor) { return flavor.equals(DataFlavor.imageFlavor); } public DataFlavor[] getTransferDataFlavors() { return new DataFlavor[] { DataFlavor.imageFlavor }; } }