Implemented default AWT implementation of Sys.getClipboard()

This commit is contained in:
Elias Naur 2004-08-12 15:22:48 +00:00
parent 7f28edb980
commit 483f03a4ec
5 changed files with 32 additions and 8 deletions

View file

@ -266,6 +266,20 @@ public final class Sys {
* Otherwise we return a String, which may be the empty string "".
* @return a String, or null if there is no system clipboard.
*/
public static native String getClipboard();
public static String getClipboard() {
try {
java.awt.datatransfer.Clipboard clipboard = java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();
java.awt.datatransfer.Transferable transferable = clipboard.getContents(null);
if (transferable.isDataFlavorSupported(java.awt.datatransfer.DataFlavor.stringFlavor)) {
return (String)transferable.getTransferData(java.awt.datatransfer.DataFlavor.stringFlavor);
} else {
return null;
}
} catch (Exception e) {
// ignore exception and use native implementation
return nGetClipboard();
}
}
private static native String nGetClipboard();
}