2010-11-18 31 views
2

我想用我的java代码 替换系统剪贴板内容,但复制的内容在java程序退出后会消失。我怎样才能使数据持久?Java - 剪贴板复制内容在程序退出后消失

非常感谢。

 Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); 
     Transferable t = clipboard.getContents(null); 

     if (t.isDataFlavorSupported(DataFlavor.stringFlavor)) 
     { 
      String data = (String) t.getTransferData(DataFlavor.stringFlavor); 
      System.out.println(data); 
     } 

     StringSelection stringSelection = new StringSelection("Replaced Text"); 
     clipboard.setContents(stringSelection, null); 

     // just to keep program running... 
     Scanner scanner = new Scanner(System.in); 
     scanner.nextLine(); 

编辑:我在Ubuntu 10.10上使用java版本1.6_20工作。

+0

我刚刚注意到,这不仅仅是一个java特定的问题。当我关闭它时,我在Firefox中复制的剪贴板内容也会消失。 – artsince 2010-11-18 16:00:18

+0

你在什么系统上? – dacwe 2010-11-18 16:05:09

+0

嗯,也许这是一个平台的具体情况。您使用什么操作系统? – artsince 2010-11-18 16:05:45

回答

0

看来,(您的程序)将剪贴板内容放在剪贴板上的那个必须能够在Ubuntu 10.10中进行服务。

安装glippersudo apt-get install glipper)适合我。它管理你的剪贴板。 (这是一个小程序,所以它似乎必须添加到您的面板才能启动。)

+0

我正要去尝试剪贴板deamon(http://members.chello.nl/~h.lai/gnome-clipboard-daemon/)。 – artsince 2010-11-18 16:53:44

+0

clipit在Ubuntu 12.04上对我更好 – Damien 2012-06-27 08:14:32