1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
| package com.test.jvm.oom.design;
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.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Reader;
public class Test {
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; }
public static void setSysClipboardText(String writeMe) { Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable tText = new StringSelection(writeMe); clip.setContents(tText, null); }
public static 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; }
public static void setClipboardImage(final Image image)throws Exception { 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); }
public void getImageAndTextFromClipboard() throws Exception{ Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable clipTf = sysClip.getContents(null); DataFlavor[] dataList = clipTf.getTransferDataFlavors(); int wholeLength = 0; for (int i = 0; i < dataList.length; i++) { DataFlavor data = dataList[i]; if (data.getSubType().equals("rtf")) { Reader reader = data.getReaderForText(clipTf); OutputStreamWriter osw = new OutputStreamWriter( new FileOutputStream("d:\\test.rtf")); char[] c = new char[1024]; int leng = -1; while ((leng = reader.read(c)) != -1) { osw.write(c, wholeLength, leng); } osw.flush(); osw.close(); } } } }
|