Java tutorial
// This example is from the book _Java AWT Reference_ by John Zukowski. // Written by John Zukowski. Copyright (c) 1997 O'Reilly & Associates. // You may study, use, modify, and distribute this example for any purpose. // This example is provided WITHOUT WARRANTY either expressed or import java.awt.Button; import java.awt.Event; import java.awt.Frame; import java.awt.Panel; import java.awt.TextArea; import java.awt.TextField; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Transferable; public class ClipMe extends Frame { TextField tf; TextArea ta; Button copy, paste; Clipboard clipboard = null; ClipMe() { super("Clipping Example"); add(tf = new TextField("Welcome"), "North"); add(ta = new TextArea(), "Center"); ta.setEditable(false); Panel p = new Panel(); p.add(copy = new Button("Copy")); p.add(paste = new Button("Paste")); add(p, "South"); setSize(250, 250); } public static void main(String args[]) { new ClipMe().show(); } public boolean handleEvent(Event e) { if (e.id == Event.WINDOW_DESTROY) { System.exit(0); return true; // never gets here } return super.handleEvent(e); } public boolean action(Event e, Object o) { if (clipboard == null) clipboard = getToolkit().getSystemClipboard(); if ((e.target == tf) || (e.target == copy)) { StringSelection data; data = new StringSelection(tf.getText()); clipboard.setContents(data, data); } else if (e.target == paste) { Transferable clipData = clipboard.getContents(this); String s; try { s = (String) (clipData.getTransferData(DataFlavor.stringFlavor)); } catch (Exception ee) { s = ee.toString(); } ta.setText(s); } return true; } }