程式扎記: [ Java 代碼範本 ] 用java設定、取用剪貼簿內容

標籤

2013年7月23日 星期二

[ Java 代碼範本 ] 用java設定、取用剪貼簿內容

來源自 這裡 
Preface: 
平常在使用 Ctrl+C (複製到剪貼簿), Ctrl+P (取出剪貼簿中的內容) 也可以使用 Java 代碼進行操作. 

Sample Code: 
- CutBook.java 
  1. package test;  
  2.   
  3. import java.awt.Toolkit;  
  4. import java.awt.datatransfer.Clipboard;  
  5. import java.awt.datatransfer.ClipboardOwner;  
  6. import java.awt.datatransfer.DataFlavor;  
  7. import java.awt.datatransfer.StringSelection;  
  8. import java.awt.datatransfer.Transferable;  
  9.   
  10. public class CutBook implements ClipboardOwner{  
  11.     private Clipboard clipboard;  
  12.   
  13.     public CutBook() {  
  14.         CutBookInit();  
  15.     }  
  16.   
  17.     public void CutBookInit(){  
  18.         clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();  
  19.     }  
  20.   
  21.     /** 
  22.      * 設定剪貼內容 
  23.      * @param str 
  24.      */      
  25.     public void setBookContents(String str){  
  26.         StringSelection contents = new StringSelection(str);  
  27.         clipboard.setContents(contents, this);  
  28.     }  
  29.   
  30.     /** 
  31.      * 取出剪貼內容 
  32.      * @return 
  33.      */  
  34.     public String getBookContents(){  
  35.         Transferable content = clipboard.getContents(this);  
  36.         try{  
  37.             return (String) content.getTransferData(DataFlavor.stringFlavor);  
  38.         }catch(Exception e){  
  39.             e.printStackTrace();  
  40.             //System.out.println(e);  
  41.         }  
  42.         return null;  
  43.     }  
  44.   
  45.     public void lostOwnership(Clipboard clipboard, Transferable contents) {  
  46.         //System.out.println("lostOwnership...");  
  47.     }  
  48.       
  49.     /** 
  50.      * @param args 
  51.      */  
  52.     public static void main(String[] args) {  
  53.         //印出目前剪貼簿內容  
  54.           
  55.         CutBook cb = new CutBook();  
  56.         System.out.println(cb.getBookContents());  
  57.   
  58.     }  
  59.   
  60. }  
接著你使用 Ctrl+C 去複製一段內容, 在執行上面的程式便可以將剛剛複製的內容取出並列印在 Console 中. 

沒有留言:

張貼留言

網誌存檔