2013-08-18 50 views
0

我搜索並通過互聯網搜索,也在StackOverflow。Html/Java/Flash:閱讀剪貼板內容

它變成了白鬍子。

我需要處理從Excel複製的剪貼板的內容,並通過單擊網頁上的按鈕將其粘貼到多個文本輸入中。

我並不需要做一個CTRL-V在一個隱藏的輸入,然後每隔幾秒鐘看內容,等等,等等

儼然問題:

有沒有辦法讀剪貼板使用「東西」? 告訴我「NO」,我去睡覺

卡羅

+1

在Java中,訪問本地的剪貼板被視爲一種安全威脅,所以這是的。在Flash中(我認爲像Silverlight的東西)我相信剪貼板訪問默認是關閉的,但用戶可以改變設置以允許它。 –

回答

0

與本文

import java.awt.datatransfer.Clipboard; 
import java.awt.datatransfer.ClipboardOwner; 
import java.awt.datatransfer.Transferable; 
import java.awt.datatransfer.StringSelection; 
import java.awt.datatransfer.DataFlavor; 
import java.awt.datatransfer.UnsupportedFlavorException; 
import java.awt.Toolkit; 
import java.io.*; 

public final class clipboardData implements ClipboardOwner { 

    public static void main(String... aArguments){ 
    clipboardData Clipboard = new clipboardData(); 
    } 

    /** 
    * Empty implementation of the ClipboardOwner interface. 
    * @param aClipboard 
    * @param aContents 
    */ 
    @Override 
    public void lostOwnership(Clipboard aClipboard, Transferable aContents){ 
    //do nothing 
    } 

    /** 
    * Place a String on the clipboard, and make this class the 
    * owner of the Clipboard's contents. 
    * @param aString 
    */ 
    public void setData(String aString){ 
    StringSelection stringSelection = new StringSelection(aString); 
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); 
    clipboard.setContents(stringSelection, this); 
    } 

    /** 
    * Get the String residing on the clipboard. 
    * 
    * @return any text found on the Clipboard; if none found, return an 
    * empty String. 
    */ 
    public String getData() { 
    String result = ""; 
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); 
    //odd: the Object param of getContents is not currently used 
    Transferable contents = clipboard.getContents(null); 
    boolean hasTransferableText = 
    (contents != null) && 
    contents.isDataFlavorSupported(DataFlavor.stringFlavor); 
    if (hasTransferableText) { 
     try { 
     result = (String)contents.getTransferData(DataFlavor.stringFlavor); 
     } 
     catch (UnsupportedFlavorException | IOException ex){ 
     System.out.println(ex); 
     ex.printStackTrace(); 
     } 
    } 
    return result; 
    } 
} 

上面的代碼與此函數訪問創建一個類文件:

創建一個新的剪貼板編輯器:

clipboardData clipboardData = new clipboardData() 

setData函數:

clipboardData.setData(Data) 

的getData功能:

​​