Java 工具类---操作系统剪贴板

匿名 (未验证) 提交于 2019-12-02 21:53:52

之前网上找到的一个工具类具体出处我忘了。
这里贴上源代码:

package clipboard.util;  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.awt.image.BufferedImage; import java.io.IOException;  public class SysClipboardUtil {     /**      * 从剪贴板中获取文本字符串。      * @return 剪贴板中的文本。      */     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;     }     /**      * 把字符串写到系统剪贴板。      * @param writeMe 要写入剪贴板的文本      */     public static void setSysClipboardText(String writeMe)     {         Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();         Transferable tText = new StringSelection(writeMe);         clip.setContents(tText, null);     }     /**      * 从系统剪贴板获取图片。      * @return 系统剪贴板里面的图片。      */     public static BufferedImage getImageFromClipboard()     {         try         {             Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();             Transferable cc = sysc.getContents(null);             if (cc == null)                 return null;             else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor))                 return (BufferedImage) cc                         .getTransferData(DataFlavor.imageFlavor);         } catch (Exception e)         {             e.printStackTrace();         }         return null;     }      /**      * 把图片复制到剪贴板中。      * @param image 要复制到剪贴板的图片。      */     public static void setClipboardImage(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);     }  }

使用该类可以往系统剪贴板中写入文字,获取文字。写入图片,获取图片。该工具对应jar包地址:
https://download.csdn.net/download/qq_21808961/10449878

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!