[an error occurred while processing this directive]

Java Get Clipboard


In this section, you will study how to use the method getClipboard().

Clipboard provides application to transfer data. Here, we have used Swing and AWT package to illustrates you the use of method getSystemClipboard(). In this example, you can copy and paste the text on the text field. 

The method getSystemClipboard() provides the clipboard facilities to transfer data. The method area.getSelctedText() returns the selected text of the text component. This selected text is then add to the clipboard using the method clipboard.setContents(). The method getClipboardContents() get the contents added to the clipboard. Then using the class Transferable the content of the clipboard get transfered using the method getTransferData(). The method replaceSelection() returns the selected text.


Here is the code of GetClipboard.java

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.datatransfer.*;

public class GetClipboard {
  public static void main(String args[]) {
  JFrame frame = new JFrame("Use Clipboard");
  final Clipboard clipboard =
  final JTextArea area = new JTextArea();
  frame.add(area, BorderLayout.CENTER);
       JButton copy = new JButton("Copy");
       copy.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            String selection = area.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);
          try {
            if(clipData.isDataFlavorSupported(DataFlavor.stringFlavor)) {
            String s = (String)(clipData.getTransferData(DataFlavor.stringFlavor));
              } catch (Exception ufe) {}
        JPanel p = new JPanel();
        frame.add(p, BorderLayout.SOUTH);
        frame.setSize(300, 200);


Output will be displayed as:


Download Source Code



[an error occurred while processing this directive]