Set Clipboard Contents

java, linux

Solution

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);
 }
}

This program does it. It will set the String "hi" to clipboard. You can change it to a variable.

Problem

I am trying to figure out why setting the contents of the system clipboard won't work for me. I programmatically set the clipboard contents. When i use the output part of the code, it works. However, when i try copy/pasting in any text editor, it is blank. hovercraft edit, code from 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))); } } ```

Original source