BBS水木清华站∶精华区

发信人: bibi (Noel), 信区: Java 
标  题: Java中能否读剪裁板? 
发信站: BBS 水木清华站 (Wed Sep 24 20:37:16 1997) 
 
【 在 yusir (小鱼儿) 的大作中提到: 】 
   欲在Java中读取系统剪裁板的信息,遍查Java提供的类,未找到办法。 
 请高手指点。希望能使用与平台无关的特性,以便跨平台使用. 
 
这儿有一个简单的例子,在JDK 1.1下使用: 
import java.awt.datatransfer.*; 
 
class MyClass extends TextArea implements ClipboardOwner { 
        ... //instance variables 
        Clipboard clipboard = getToolkit().getSystemClipboard(); 
 
 void copy() { //copy some text to clipboard 
        String srcData = getSelectedText(); 
        if (srcData != null) { 
 
                StringSelection contents = new StringSelection(srcData); 
                clipboard.setContents(contents, this); 
        } 
 } 
 
 void paste() {  //paste text in the clipboard to the textarea 
        Transferable content = clipboard.getContents(this); 
        int insertPos = xxx;  // initiates the inserting position 
 
        if (content != null) { 
                try { 
                        String dstData = (String)content.getTransferData( 
                                        DataFlavor.stringFlavor); 
                        insert(dstData,insertPos); 
                } catch (Exception e) { 
                        System.out.println("Couldn't get contents in format: "+ 
                        DataFlavor.stringFlavor.getHumanPresentableName()); 
                } 
        } 
 } 
 
/** Implements the method in the interface ClipboardOwner */ 
 public void lostOwnership(Clipboard clipboard, Transferable contents) { 
        System.out.println("Clipboard contents replaced"); 
 } 
 

 
-- 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: tuba.ncic.ac.cn] 

BBS水木清华站∶精华区