java_剪贴板和图片和文字,相互操作总结

=

java_剪贴板和图片和文字,相互操作总结

以下共有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.     } 

参考:http://blog.csdn.net/aminfo/article/details/7858109

=

=

猜你喜欢

转载自fantaxy025025.iteye.com/blog/2371684