如何使用Java将jpg文件放入剪贴板,以便可以将其作为图像粘贴到任何文档中?

时间:2010-06-11 18:48:07

标签: java

我经常要将签名添加到文档中。该文件可以是不同种类的。 我的签名存储为signature.jpg中的图像。

我想写一个Java程序,自动将这个图像放在剪贴板中,这样我只需要将它粘贴到文档中。

2 个答案:

答案 0 :(得分:2)

你必须使用我的方法:来自Clipboard类的setContents

修改自: http://www.exampledepot.com/egs/java.awt.datatransfer/ToClipImg.html

import java.awt.*;
import java.awt.datatransfer.*;
public class LoadToClipboard {
    public static void main( String [] args ) {
        Toolkit tolkit = Toolkit.getDefaultToolkit();
        Clipboard clip = tolkit.getSystemClipboard();        
        clip.setContents( new ImageSelection( tolkit.getImage("StackOverflowLogo.png")) , null );
    }
}
class ImageSelection implements Transferable {
        private Image image;

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

        // Returns supported flavors
        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
        public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException {
            if (!DataFlavor.imageFlavor.equals(flavor)) {
                throw new UnsupportedFlavorException(flavor);
            }
            return image;
        }
    }

答案 1 :(得分:1)

查看java.awt.datatransfer.*课程。您基本上必须开发java.awt.datatransfer.Transferable接口的实现,它将图像传输到剪贴板。

编辑:找到一些可能有帮助的教程: