我正在使用SystemClipboard读写剪贴板。问题是,我想写入SystemClipboard(它完美地工作)但后来希望能够看到一个人在做什么?
public static void main(String args[]) throws InterruptedException {
StringSelection s = null;
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(
(s = new StringSelection("test")), s
);
Clipboard systemClipboard;
systemClipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable transferData = systemClipboard.getContents( null );
for(DataFlavor dataFlavor : transferData.getTransferDataFlavors()){
Object content;
try {
content = transferData.getTransferData( dataFlavor );
if ( content instanceof String ) {
System.out.println((String)content);
} else {
System.out.println(content+ "?");
}
} catch (UnsupportedFlavorException | IOException e) {}
}
Thread.sleep(5000);
systemClipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
transferData = systemClipboard.getContents( null );
for(DataFlavor dataFlavor : transferData.getTransferDataFlavors()){
Object content;
try {
content = transferData.getTransferData( dataFlavor );
if ( content instanceof String ) {
System.out.println((String)content);
}
} catch (UnsupportedFlavorException | IOException e) {}
}
}
如果我在5秒钟内使用CMD + C / Strg + C复制某些东西,它仍然会在控制台中显示我使用Java放入剪贴板的文本。如果我通过Strg + v / CMD + V粘贴,它当然会粘贴新复制的剪贴板。只有Java不识别它。
我该怎么办?