package graphbrowser;

import java.awt.*;
import java.awt.event.*;
import java.awt.datatransfer.*;

public class MyTextField extends TextField implements ActionListener,ClipboardOwner {
      PopupMenu popup;

        String[] lables = new String[]{"Copy"};
        String[] commands = new String[]{"Copy"};
     public MyTextField(String str, int num) {
        this(num+1);
        setText(str);
     }

     public MyTextField(int num) {
        super(num);
        popup = new PopupMenu();

        for(int i=0;i<lables.length;i++){

            MenuItem mi=new MenuItem(lables[i]);
            mi.setActionCommand(commands[i]);
            mi.addActionListener(this);
            popup.add(mi);

        }

        this.enableEvents(AWTEvent.MOUSE_EVENT_MASK);
        this.add(popup);
     }
      public void processMouseEvent(MouseEvent e){
        //System.out.println("I am in");
        if(e.isPopupTrigger())
          popup.show(this,e.getX(),e.getY());

        else super.processMouseEvent(e);

     }
    public void actionPerformed(ActionEvent event){

     String command = event.getActionCommand();
     if (command.equals("Copy")) copy();
    }



    public void copy(){
       Clipboard clipboard = getToolkit().getSystemClipboard();
       StringSelection contents = new StringSelection(this.getText());
       clipboard.setContents(contents, this);
    }

    public void lostOwnership(Clipboard clipboard, Transferable contents) {
       System.out.println("Clipboard contents replaced");
    }

 }



