How can I clear the System Clipboard
in Java? I have tried
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(null, null);
but it just had thrown an NPE
:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: contents
at sun.awt.datatransfer.SunClipboard.setContents(SunClipboard.java:98)
You can create a special Transferable
that explicitly contains no data, as detailed in this blog post:
clipboard.setContents(new Transferable() {
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[0];
}
public boolean isDataFlavorSupported(DataFlavor flavor) {
return false;
}
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException {
throw new UnsupportedFlavorException(flavor);
}
You can do this:
StringSelection stringSelection = new StringSelection("");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(
stringSelection, null);
Since StringSelection implements Transferable
public class StringSelection implements Transferable, ClipboardOwner
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With