Setting an image on the clipboard with a custom Transferable object to hold the image : Clip Board « Development Class « Java

Setting an image on the clipboard with a custom Transferable object to hold the image


import java.awt.Image;
import java.awt.Toolkit;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;

import javax.swing.ImageIcon;

public class Main {
  public static void main(String[] argv) throws Exception {

    ImageSelection imgSel = new ImageSelection(new ImageIcon("a.png").getImage());
    Toolkit.getDefaultToolkit().getSystemClipboard().setContents(imgSel, null);

class ImageSelection implements Transferable {
  private Image image;

  public ImageSelection(Image image) {
    this.image = image;

  public DataFlavor[] getTransferDataFlavors() {
    return new DataFlavor[] { DataFlavor.imageFlavor };

  public boolean isDataFlavorSupported(DataFlavor flavor) {
    return DataFlavor.imageFlavor.equals(flavor);

  public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
    if (!DataFlavor.imageFlavor.equals(flavor)) {
      throw new UnsupportedFlavorException(flavor);
    return image;


Related examples in the same category

1.Using the clipboardUsing the clipboard
2.Communicating with the System ClipboardCommunicating with the System Clipboard
3.Sending Image Objects through the ClipboardSending Image Objects through the Clipboard
4.Placing text on the computer clipboard
5.Getting data from the computer clipboard
6.Get string value from clipboard
7.Write a string to the system clipboard
8.Getting and Setting an Image on the System Clipboard
9.Determining When an Item Is No Longer on the System Clipboard
10.implements ClipboardOwner
11.Copying data to system clipboard
12.Taken from the Sun documentation on Clipboard APITaken from the Sun documentation on Clipboard API