Communicate in the System Clipboard

From Java Example Source Code

Jump to: navigation, search

Contents

[edit] Overview - Communicate in the System Clipboard

This Java program shows how to communicate in the system clipboard.

[edit] Java Source Code

  • Package: example.clipboard
  • File: ClipText.java
package example.clipboard;
 
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
 
public class ClipText {
    public static void main(String args[]) {
 
	JFrame frame = new JFrame();
	Container contentPane = frame.getContentPane();
 
	final Clipboard clipboard = frame.getToolkit().getSystemClipboard();
 
	final JTextArea jt = new JTextArea();
 
	JScrollPane pane = new JScrollPane(jt);
	contentPane.add(pane, BorderLayout.CENTER);
 
	JButton copy = new JButton("Copy");
	copy.addActionListener(new ActionListener() {
	    public void actionPerformed(ActionEvent e) {
		String selection = jt.getSelectedText();
		StringSelection data = new StringSelection(selection);
		clipboard.setContents(data, data);
	    }
	});
 
	JButton paste = new JButton("Paste");
	paste.addActionListener(new ActionListener() {
	    public void actionPerformed(ActionEvent actionEvent) {
		Transferable clipData = clipboard.getContents(clipboard);
		if (clipData != null) {
		    try {
			if (clipData.isDataFlavorSupported(DataFlavor.stringFlavor)) {
			    String s = (String) (clipData.getTransferData(DataFlavor.stringFlavor));
			    jt.replaceSelection(s);
			}
		    } catch (UnsupportedFlavorException ufe) {
			System.err.println("Unsupported flavor: " + ufe);
		    } catch (IOException ufe) {
			System.err.println("Unable to get data: " + ufe);
		    }
		}
	    }
	});
	JPanel p = new JPanel();
	p.add(copy);
	p.add(paste);
	contentPane.add(p, BorderLayout.SOUTH);
	frame.setSize(300, 300);
	frame.show();
    }
}

[edit] What Result You Can Get

Run the program, you will get:

Image:ClipText.png

[edit] Required External Libraries and/or Files for this Java Example

Need nothing.

http://www.ase2009.com/ online casino 132 http://www.hellzyea.com/health health insurance 8DDD http://www.yourautoinsurancesite.com/ auto insurance quotes 135811 http://www.makemeasammich.com/ auto insurance mcnxu

[edit] Question & Answer

Any question?

Click edit and post your question or answer here.


Personal tools