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水木清华站∶精华区