import java.awt.*;
import java.awt.event.*;
import java.awt.datatransfer.*;
import javax.swing.*;
import java.io.IOException;public class ClipText{
public static void main(String args[]){
JFrame frame = new JFrame("Clip Text");
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();
}
}