1. 程式人生 > >Java 工具類---作業系統剪貼簿

Java 工具類---作業系統剪貼簿

之前網上找到的一個工具類具體出處我忘了。
這裡貼上原始碼:

package clipboard.util;

import java.awt.Image;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import
java.awt.image.BufferedImage; import java.io.IOException; public class SysClipboardUtil { /** * 從剪貼簿中獲取文字字串。 * @return 剪貼簿中的文字。 */ public static String getSysClipboardText() { 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; } /** * 把字串寫到系統剪貼簿。 * @param writeMe 要寫入剪貼簿的文字 */ public static void setSysClipboardText(String writeMe) { Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable tText = new StringSelection(writeMe); clip.setContents(tText, null); } /** * 從系統剪貼簿獲取圖片。 * @return 系統剪貼簿裡面的圖片。 */ public static BufferedImage getImageFromClipboard() { try { Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable cc = sysc.getContents(null); if (cc == null) return null; else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor)) return (BufferedImage) cc .getTransferData(DataFlavor.imageFlavor); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 把圖片複製到剪貼簿中。 * @param image 要複製到剪貼簿的圖片。 */ public static 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); } }