/************************************************************************** * Copyright (c) 2001 by Acunia N.V. All rights reserved. * * * * This software is copyrighted by and is the sole property of Acunia N.V. * * and its licensors, if any. All rights, title, ownership, or other * * interests in the software remain the property of Acunia N.V. and its * * licensors, if any. * * * * This software may only be used in accordance with the corresponding * * license agreement. Any unauthorized use, duplication, transmission, * * distribution or disclosure of this software is expressly forbidden. * * * * This Copyright notice may not be removed or modified without prior * * written consent of Acunia N.V. * * * * Acunia N.V. reserves the right to modify this software without notice. * * * * Acunia N.V. * * Vanden Tymplestraat 35 info@acunia.com * * 3000 Leuven http://www.acunia.com * * Belgium - EUROPE * **************************************************************************/ package com.acunia.wonka.test.awt.Datatransfer; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.datatransfer.*; public class ClipboardVb extends Panel { private Panel knoppenPanel; TextArea tekstVeld; private Button cut; private Button copy; private Button paste; private Button getName; private Button getContents; private Button addText; private MyButtonListener buttonListener; TextArea tekstScherm; ClipboardVb(TextArea tekst){ super(new BorderLayout()); tekstScherm = tekst; buttonListener = new MyButtonListener(); tekstVeld = new TextArea(); tekstVeld.setEditable(true); tekstScherm.setEditable(false); System.out.println("tekstVeld.isEditable() = "+tekstVeld.isEditable()); System.out.println("tekstScherm.isEditable() = "+tekstScherm.isEditable()); knoppenPanel = new Panel(new GridLayout(2,3)); cut = new Button("cut"); cut.addActionListener(buttonListener); cut.setActionCommand("cut"); knoppenPanel.add(cut); copy = new Button("copy"); copy.addActionListener(buttonListener); copy.setActionCommand("copy"); knoppenPanel.add(copy); paste = new Button("paste"); paste.addActionListener(buttonListener); paste.setActionCommand("paste"); knoppenPanel.add(paste); getName = new Button("getName"); getName.addActionListener(buttonListener); getName.setActionCommand("getName"); knoppenPanel.add(getName); getContents = new Button("getContents"); getContents.addActionListener(buttonListener); getContents.setActionCommand("getContents"); knoppenPanel.add(getContents); addText = new Button("add text"); addText.addActionListener(buttonListener); addText.setActionCommand("addText"); knoppenPanel.add(addText); add("Center",tekstVeld); add("South",knoppenPanel); } public class MyButtonListener implements ActionListener, ClipboardOwner { public void actionPerformed(ActionEvent e) { try{ if (e.getActionCommand().equals("cut")) { String geselecteerd = tekstVeld.getSelectedText(); getToolkit().getSystemClipboard().setContents(new StringSelection(geselecteerd),this); tekstVeld.replaceRange("",tekstVeld.getSelectionStart(),tekstVeld.getSelectionEnd()); System.out.println("cut: "+geselecteerd); tekstScherm.append('\n'+"cut: "+geselecteerd); } else if (e.getActionCommand().equals("copy")) { String geselecteerd = tekstVeld.getSelectedText(); getToolkit().getSystemClipboard().setContents(new StringSelection(geselecteerd),this); System.out.println("copy: "+geselecteerd); tekstScherm.append('\n'+"copy: "+geselecteerd); } else if (e.getActionCommand().equals("paste")) { Transferable tekst = getToolkit().getSystemClipboard().getContents(this); try{ if(tekst!=null && tekst.isDataFlavorSupported(DataFlavor.stringFlavor)){ System.out.println("tekstVeld.getSelectionStart(): "+tekstVeld.getSelectionStart()); System.out.println("tekstVeld.getSelectionEnd(): "+tekstVeld.getSelectionEnd()); tekstVeld.replaceRange((""+tekst.getTransferData(DataFlavor.stringFlavor)),tekstVeld.getSelectionStart(),tekstVeld.getSelectionEnd()); } }catch(Exception exc){System.out.println("exc="+exc.getMessage());} System.out.println("paste: "+tekst.getTransferData(DataFlavor.stringFlavor)); tekstScherm.append('\n'+"paste: "+tekst.getTransferData(DataFlavor.stringFlavor)); } else if (e.getActionCommand().equals("getContents")) { System.out.println("getToolkit().getSystemClipboard().getContents() = "+getToolkit().getSystemClipboard().getContents(this)); tekstScherm.append('\n'+"getToolkit().getSystemClipboard().getContents() = "+getToolkit().getSystemClipboard().getContents(this)); } else if (e.getActionCommand().equals("getName")) { System.out.println("getToolkit().getSystemClipboard().getName() = "+getToolkit().getSystemClipboard().getName()); tekstScherm.append('\n'+"getToolkit().getSystemClipboard().getName() = "+getToolkit().getSystemClipboard().getName()); } else if (e.getActionCommand().equals("addText")) { tekstVeld.append("Some text so you`re able to edit"); System.out.println("addText = Some text so you`re able to edit"); tekstScherm.append('\n'+"addText = Some text so you`re able to edit"); } }catch(Exception ex){System.out.println("ex="+ex.getMessage());} } public void lostOwnership(Clipboard clipb, Transferable transf){ System.out.println("geen eigenaar meer van het clipboard"); tekstScherm.append('\n'+"geen eigenaar meer van het clipboard"); } } }