Development Class Java

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