search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

尚學堂java學習筆記:Java剪貼板

Java 1.1 對系統剪貼板提供有限的操作支持(在Java.awt.datatransfer package 里)。我們可以將字元串作這文字對象複製到剪貼板中,並且我們可以從剪貼板中粘貼文字到字元中對角中。當然,剪貼板被設計來容納各種類型的數據,存在於剪貼板上的數據通過程序運行剪切和粘貼進入到程序中。雖然剪切板目前只支持字元串數據,Java 的剪切板API 通過「特色」概念提供了良好的可擴展性。當數據從剪貼板中出來時,它擁有一個相關的特色集,這個特色集可以被修改(例如,一個圖形可以被表示成一些字元串或者一幅圖像)並且我們會注意到如果特殊的剪貼板數據支持這種特色,我們會對此十分的感興趣。

我們將注意到的是我們需要按照剪切、複製和粘貼的順序進行工作。但如果我們看見一些其它程序中的TextField 或者TextArea,我們會發現它們同樣也自動地支持剪貼板的操作順序。程序中簡單地增加了剪貼板的程序化控制,如果我們想用它來捕捉剪貼板上的文字到一些非文字組件中就可以使用這種技術。

創建和增加菜單及TextArea 到如今似乎已變成一種單調的活動。這與通過工具組件創建的剪貼板欄位clipbd 有很大的區別。

所有的動作都安置在接收器中。CopyL Cupl 接收器同樣除了最後的CutL 線以外刪除被複制的線。特殊的兩條線是StringSelection 對象從字元串從創建並調用StringSelection setContents方法。說得更準確些,就是放一個字元串到剪切板上。

PasteL 中,數據被剪貼板利用getContents進行分解。任何返回的對象都是可移動的匿名的,並且我們並不真正地知道它裡面包含了什麼。有一種發現的方法是調用getTransferDateFlavors,返回一個DataFlavor 對象數組,表明特殊對象支持這種特點。我們同樣能要求它通過我們感興趣的特點直接地使用IsDataFlavorSupported。但是在這裡使用一種大膽的方法:調用getTransferData方法,假設裡面的內容支持字元串特色,並且它不是個被分類在異常處理器中的難題 。

在將來,我們希望更多的數據特色能夠被支持。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦