java - 如何清除 Java 中的系统剪贴板?

标签 java clipboard

如何在 Java 中清除系统剪贴板?我试过了

Toolkit.getDefaultToolkit().getSystemClipboard().setContents(null, null);

但它刚刚抛出了一个NPE:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: contents
    at sun.awt.datatransfer.SunClipboard.setContents(SunClipboard.java:98)

最佳答案

您可以创建一个明确不包含任何数据的特殊Transferable,详见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);
    }

关于java - 如何清除 Java 中的系统剪贴板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18254808/

相关文章:

java - 在保留插图的 Java Swing 中更改 JButton 的边框颜色

jar 中的 java.lang.RuntimeException : Error scanning entry module-info. 类

javascript - 如何从 Windows 数学输入面板接受 MathML?

c++ - SetClipboardData() 期间的堆损坏

java - 在 SWT 标签中显示 HTML 文本

java - 使用android sdk检索通话记录

java - 如何在java中组合来自不同数组的元素?

html - 如何写入剪贴板可以看到但不可见的文本?

windows - 显示 Windows 剪贴板的内容

iphone - 如何清除iPhone模拟器复制粘贴剪贴板?