Mega Code Archive

 
Categories / Java Tutorial / Development
 

Using the clipboard

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