您好,欢迎访问一九零五行业门户网

java操作系统剪贴板内容数据

客户有各种稀奇的需求,现要求在使用平台过程中复制过的内容保存并展示供使用人员参考 package cn.net.ssd.common.format;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); }}
复制代码
package cn.net.ssd.common.format;/** 查看图形的窗口*/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, 0, 0, null); } /** * 用于读取图像文件并生成image对象 */ public static image getimagefromfile(string filename) { toolkit toolkit = toolkit.getdefaulttoolkit(); image image = toolkit.getimage(filename); return image; }}
复制代码
其它类似信息

推荐信息