java:文本、圖片的複製粘貼

1、複製文本(把文本放入剪切板中):

public void copyTxt(String s){
        //獲得系統粘貼板 
	Clipboard clipboard = getToolkit().getSystemClipboard(); 
        //建立一個粘貼板內容實例
	StringSelection textInfoSelected = new StringSelection(s);  
        //將textInfoSelected加入到粘貼板中
	clipboard.setContents(textInfoSelected, null);
}

2、粘貼文本(獲取剪切板文本):

public String getClipboardText() {
		String ret = "";
		Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
		// 獲取剪切板中的內容
		Transferable clipTf = sysClip.getContents(null);
 
		if (clipTf != null) {
			// 檢查內容是否是文本類型
			if (clipTf.isDataFlavorSupported(DataFlavor.stringFlavor)) {
				try {
					ret = (String) clipTf
							.getTransferData(DataFlavor.stringFlavor);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
		return ret;
	}

3、複製圖片(把圖片放到剪切板中):

public void setClipboardImage(final Image image) {
		Transferable trans = new Transferable() {
			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 (isDataFlavorSupported(flavor))
					return image;
				throw new UnsupportedFlavorException(flavor);
			}
 
		};
		Toolkit.getDefaultToolkit().getSystemClipboard().setContents(trans,
				null);
	}

 

4、粘貼圖片(從剪切板中獲取圖片):

public Image getImageFromClipboard() throws Exception {
		Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
		Transferable cc = sysc.getContents(null);
		if (cc == null)
			return null;
		else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor))
			return (Image) cc.getTransferData(DataFlavor.imageFlavor);
		return null;
	}

完。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章