Java操作Windows剪切板相关函数示例

以下共有4个函数分别是:
1.从剪切板获得文字。
2.将字符串复制到剪切板。
3.从剪切板获得图片。
4.复制图片到剪切板。

 

[java]  view plain  copy
  1. /** 
  2.      * 从剪切板获得文字。 
  3.      */  
  4.     public static String getSysClipboardText() {  
  5.         String ret = "";  
  6.         Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();  
  7.         // 获取剪切板中的内容  
  8.         Transferable clipTf = sysClip.getContents(null);  
  9.   
  10.         if (clipTf != null) {  
  11.             // 检查内容是否是文本类型  
  12.             if (clipTf.isDataFlavorSupported(DataFlavor.stringFlavor)) {  
  13.                 try {  
  14.                     ret = (String) clipTf  
  15.                             .getTransferData(DataFlavor.stringFlavor);  
  16.                 } catch (Exception e) {  
  17.                     e.printStackTrace();  
  18.                 }  
  19.             }  
  20.         }  
  21.   
  22.         return ret;  
  23.     }  
  24.   
  25.     /** 
  26.      * 将字符串复制到剪切板。 
  27.      */  
  28.     public static void setSysClipboardText(String writeMe) {  
  29.         Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();  
  30.         Transferable tText = new StringSelection(writeMe);  
  31.         clip.setContents(tText, null);  
  32.     }  
  33.   
  34.     /** 
  35.      * 从剪切板获得图片。 
  36.      */  
  37.     public static Image getImageFromClipboard() throws Exception {  
  38.         Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();  
  39.         Transferable cc = sysc.getContents(null);  
  40.         if (cc == null)  
  41.             return null;  
  42.         else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor))  
  43.             return (Image) cc.getTransferData(DataFlavor.imageFlavor);  
  44.         return null;  
  45.     }  
  46.   
  47.     /** 
  48.      * 复制图片到剪切板。 
  49.      */  
  50.     public static void setClipboardImage(final Image image) {  
  51.         Transferable trans = new Transferable() {  
  52.             public DataFlavor[] getTransferDataFlavors() {  
  53.                 return new DataFlavor[] { DataFlavor.imageFlavor };  
  54.             }  
  55.   
  56.             public boolean isDataFlavorSupported(DataFlavor flavor) {  
  57.                 return DataFlavor.imageFlavor.equals(flavor);  
  58.             }  
  59.   
  60.             public Object getTransferData(DataFlavor flavor)  
  61.                     throws UnsupportedFlavorException, IOException {  
  62.                 if (isDataFlavorSupported(flavor))  
  63.                     return image;  
  64.                 throw new UnsupportedFlavorException(flavor);  
  65.             }  
  66.   
  67.         };  
  68.         Toolkit.getDefaultToolkit().getSystemClipboard().setContents(trans,  
  69.                 null);  
  70.     }  
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/327552

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。