Java取得剪贴板中的内容数据
发布时间:2020-12-15 00:17:28 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.awt.Image;import java.awt.Toolkit;import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.DataFlavor;import java.awt
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 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.IOException; public class ClipboradOperate { /**@Description: * @author zhk * @createtime 2012-7-12 上午11:33:06 * @param args */ public static void main(String[] args) { Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();//获取系统剪贴板 try { ImageViewer im=new ImageViewer(getImageFromClipboard()); }catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 从指定的剪切板中获取文本内容 * 本地剪切板使用 Clipborad cp = new Clipboard("clip1"); 来构造 * 系统剪切板使用 Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard(); * 剪切板的内容 getContents(null); 返回Transferable */ protected static String getClipboardText() throws Exception{ Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();//获取系统剪贴板 // 获取剪切板中的内容 Transferable clipT = clip.getContents(null); if (clipT != null) { // 检查内容是否是文本类型 if (clipT.isDataFlavorSupported(DataFlavor.stringFlavor)) return (String)clipT.getTransferData(DataFlavor.stringFlavor); } return null; } //往剪切板写文本数据 protected static void setClipboardText(Clipboard clip,String writeMe) { 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; } // 写图像到剪切板 protected static void setClipboardImage2(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); } } /* * 查看图形的窗口 */ import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.MediaTracker; import java.awt.Toolkit; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /** * 用于显示图形的窗口 */ public class ImageViewer extends Frame { private Image image; /** * 显示一个图像 * @param viewMe */ public ImageViewer(Image viewMe) { image = viewMe; MediaTracker mediaTracker = new MediaTracker(this); mediaTracker.addImage(image,0); try { mediaTracker.waitForID(0); } catch (InterruptedException ie) { ie.printStackTrace(); System.exit(1); } addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); //窗口适应图像大小 setSize(image.getWidth(null),image.getHeight(null)); //窗口标题 setTitle("Viewing Image from Clipboard"); setVisible(true); } public void paint(Graphics graphics) { graphics.drawImage(image,null); } /** * 用于读取图像文件并生成Image对象 */ public static Image getImageFromFile(String fileName) { Toolkit toolkit = Toolkit.getDefaultToolkit(); Image image = toolkit.getImage(fileName); return image; } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |