Sunday, February 17, 2008

Placing text on the computer clipboard

It is very easy to place text on the clipboard with Java.
We just get an instance of the default toolkit and from that we get hold of a reference to the clipboard object.
To place some text on the clipboard we need to pass an object of type Transferable and another object which is the clipboard owner to the method setContents.
To make it easy we may specify null as the owner, and as the first argument we pass an instance of the class StringSelection which implements the Transferable interface.
To test the code, just run it and then go to some text editor of your choice and select paste.
package com.javadb.example;

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

/**
 *
 * @author javadb.com
 */
public class Main {
    
    /**
     * Places text on the clipboard
     */
    public void placeTextOnClipboard() {
        
        //Get the toolkit
        Toolkit toolkit = Toolkit.getDefaultToolkit();
        
        //Get the clipboard
        Clipboard clipboard = toolkit.getSystemClipboard();
        
        //The setContents method of the Clipboard instance takes a Transferable
        //as first parameter. The StringSelection class implements the Transferable
        //interface.
        StringSelection stringSel = new StringSelection("text to be placed on the clipboard");
        
        //We specify null as the clipboard owner
        clipboard.setContents(stringSel, null);

    }
    
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        new Main().placeTextOnClipboard();
    }
    
}

 
Blogger Template Layout Design by [ METAMUSE ] : Code Name Gadget 1.1 Power By freecode-frecode.blogger.com & blogger.com Programming Blogs - BlogCatalog Blog Directory