ClipMe.java Source code

Java tutorial

Introduction

Here is the source code for ClipMe.java

Source

// 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;
    }
}