zoukankan      html  css  js  c++  java
  • Java 访问(复制,粘贴)剪切板(转)

    以下共有4个函数分别是: 
    1.从剪切板获得文字。 
    2.将字符串复制到剪切板。 
    3.从剪切板获得图片。 
    4.复制图片到剪切板。 
    Java代码  收藏代码
    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.     }  
    转自:http://javapub.iteye.com/blog/939167
  • 相关阅读:
    二维数组 A[m][n] 按行优先和按列优先的 下标地址转换公式
    服务器的公网ip 和内网ip
    剑指offer 23.二叉搜索树的后序遍历序列
    剑指offer 22. 从上往下打印二叉树 & 102. 二叉树的层序遍历
    剑指offer 21.栈的压入、弹出序列 & leetcode 剑指 Offer 31. 栈的压入、弹出序列
    剑指offer 4. 重建二叉树 & leetcode 剑指 Offer 07. 重建二叉树 & leetcode hot 100 105. 从前序与中序遍历序列构造二叉树
    Linux配置Nginx+Tomcat负载均衡
    yum安装apache及问题解决
    Linux高级文本处理命令
    JMeter:生成漂亮的多维度的HTML报告
  • 原文地址:https://www.cnblogs.com/fatfatdachao/p/3935729.html
Copyright © 2011-2022 走看看