FileDocCategorySizeDatePackage
AddPopup.javaAPI DocExample3026Sat Mar 20 14:46:26 GMT 2004None

AddPopup

public class AddPopup extends Frame implements MouseListener, ActionListener

Fields Summary
PopupMenu
pm
Hashtable
popupTable
Constructors Summary
public AddPopup()

    MenuItem item = new MenuItem("file-1");
    item.addActionListener(this);
    Menu m = new Menu("file");
    m.add(item);
    item = new MenuItem("file-2");
    m.add(item);
    MenuBar mb = new MenuBar();
    mb.add(m);

    setMenuBar(mb);
    setSize(100, 100);
    setLayout(new BorderLayout());

    Label l = new Label("label");
    addPopup(l, "label");
    add(l, BorderLayout.NORTH);

    Panel p = new Panel();
    addPopup(p, "Panel");
    add(p, BorderLayout.Center);

    Button b = new Button("button");
    addPopup(b, "button");
    add(b, BorderLayout.SOUTH);

    setVisible(true);
  
Methods Summary
public voidactionPerformed(java.awt.event.ActionEvent e)

    System.out.println("actionPerformed, event=" + e + ", mod=" + getMods(e));
    System.out.println(" command=" + e.getActionCommand());
    System.out.println(" param=" + e.paramString());
    System.out.println(" source=" + e.getSource());
  
voidaddPopup(java.awt.Component c, java.lang.String name)

    PopupMenu pm = new PopupMenu();
    MenuItem mi = new MenuItem(name + "-1");
    mi.addActionListener(this);
    pm.add(mi);

    mi = new MenuItem(name + "-2");
    pm.add(mi);

    setHash(c, pm);
    c.add(pm);
    c.addMouseListener(this);
  
java.awt.PopupMenugetHash(java.awt.Component c)

    return (PopupMenu)(popupTable.get(c));
  
java.lang.StringgetMods(java.awt.event.ActionEvent e)

 return getMods(e.getModifiers()); 
java.lang.StringgetMods(java.awt.event.MouseEvent e)

 return getMods(e.getModifiers()); 
java.lang.StringgetMods(int mods)

    String modstr = "";
    if ((mods & ActionEvent.SHIFT_MASK) == ActionEvent.SHIFT_MASK)
      modstr += (" SHIFT");
    if ((mods & ActionEvent.ALT_MASK) == ActionEvent.ALT_MASK)
      modstr += (" ALT");
    if ((mods & ActionEvent.CTRL_MASK) == ActionEvent.CTRL_MASK)
      modstr += (" CTRL");
    if ((mods & ActionEvent.META_MASK) == ActionEvent.META_MASK)
      modstr += (" META");
    return modstr;
  
public static voidmain(java.lang.String[] argv)


        
    new AddPopup();
  
voidmouseAction(java.lang.String which, java.awt.event.MouseEvent e)

    Component c = e.getComponent();
    System.out.println(which + "e=" + e + ", mods=" + getMods(e) +
                       ", component=" + c);
    if (e.isPopupTrigger()) {
      System.out.println("isPopup");
      PopupMenu pm = getHash(c);
      pm.show(c, c.getSize().width/2, c.getSize().height/2);
    }
  
public voidmouseClicked(java.awt.event.MouseEvent e)

    mouseAction("mouseClicked", e);
  
public voidmouseEntered(java.awt.event.MouseEvent e)

  
public voidmouseExited(java.awt.event.MouseEvent e)

  
public voidmousePressed(java.awt.event.MouseEvent e)

    mouseAction("mousePressed", e);
  
public voidmouseReleased(java.awt.event.MouseEvent e)

    mouseAction("mouseReleased", e);
  
voidsetHash(java.awt.Component c, java.awt.PopupMenu p)


       
    popupTable.put(c, p);