设置剪贴板内容

时间:2012-07-21 22:33:48

标签: java linux

我想弄清楚为什么设置系统剪贴板的内容对我不起作用。我以编程方式设置剪贴板内容。当我使用代码的输出部分时,它的工作原理。但是,当我尝试在任何文本编辑器中复制/粘贴时,它是空白的。


hovercraft编辑,来自github的代码:

import java.awt.HeadlessException;
import java.awt.Toolkit;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;

public class Test {
   public static void main(String[] args) throws HeadlessException,
         UnsupportedFlavorException, IOException {

      Toolkit.getDefaultToolkit().getSystemClipboard()
            .setContents(new StringSelection("hi there"), null);

      System.out.println(((String) Toolkit.getDefaultToolkit()
            .getSystemClipboard().getData(DataFlavor.stringFlavor)));

   }
}

2 个答案:

答案 0 :(得分:7)

import java.awt.Toolkit;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Clipboard;

public class tester{

 public static void main(String[] args){

     // from string to clipboard
    StringSelection selection = new StringSelection("hi");
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
    clipboard.setContents(selection, selection);
 }
}

这个程序做到了。它会将字符串“hi”设置为剪贴板。您可以将其更改为变量。

答案 1 :(得分:0)

Linux剪切和粘贴这些天有点奇怪,因为至少有两种不同的方法。简而言之,有时最好只使用中间按钮粘贴,有时最好控制-v,有时似乎都不起作用。

将autocutsel作为后台进程运行似乎有所帮助。 http://www.nongnu.org/autocutsel/