transferableimage.java

来自「一个用Java 造成的小画家」· Java 代码 · 共 35 行

JAVA
35
字号
package onlyfun.caterpillar.image;

import java.awt.Image;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.*;

public class TransferableImage implements Transferable {
    // the Image object which will be housed by the ImageSelection
    private Image image;

    public void setImage(Image image) {
        this.image = image;
    }
    
    // Returns the supported flavors of our implementation
    public DataFlavor[] getTransferDataFlavors() {
      return new DataFlavor[] {DataFlavor.imageFlavor};
    }

    // Returns true if flavor is supported
    public boolean isDataFlavorSupported(DataFlavor flavor) {
      return DataFlavor.imageFlavor.equals(flavor);
    }

    // Returns Image object housed by Transferable object
    public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException,IOException {
      if (!DataFlavor.imageFlavor.equals(flavor)) {
        throw new UnsupportedFlavorException(flavor);
      }
      // else return the payload
      return image;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?