Leer/escribir una imagen en el portapapeles

1998 vistas

El principio es el mismo que para [iurl=90&all=0&fs=1071#1076]leer/escribir texto[/iurl], pero con la dificultat de que no existe ninguna imagen que implemente Transferable. No obstante, la creación de esta clase se consigue con pocas líneas:



java
  1. import java.awt.*;
  2. import java.awt.datatransfer.*;
  3. import java.io.*;
  4. public class TransferableImage implements Transferable{
  5.   private Image image;
  6.   public TransferableImage(Image uneImage){
  7.       image = uneImage;   
  8.   }   
  9.   public Object getTransferData(DataFlavor flavor)
  10.                     throws UnsupportedFlavorException,
  11.                             IOException{
  12.       if(!isDataFlavorSupported(flavor)){throw new UnsupportedFlavorException(flavor);}
  13.       return image;   
  14.   }
  15.   public DataFlavor[] getTransferDataFlavors(){
  16.       return new DataFlavor[]{DataFlavor.imageFlavor};
  17.   }
  18.   public boolean isDataFlavorSupported(DataFlavor flavor){
  19.       return DataFlavor.imageFlavor.equals(flavor);   
  20.   }
  21. }