FileDocCategorySizeDatePackage
PopUpColorMenu2.javaAPI DocExample1570Sat Apr 23 22:35:40 BST 2005None

PopUpColorMenu2.java

//file: PopUpColorMenu.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class PopUpColorMenu2 implements ActionListener
{
  Component selectedComponent;

  public PopUpColorMenu2() {
    JFrame frame = new JFrame("PopUpColorMenu v2.0");

	JPanel panel = new JPanel();
    JButton button = new JButton("Uno");
	button.setInheritsPopupMenu(true);
    panel.add(button);
    button = new JButton("Due");
	button.setInheritsPopupMenu(true);
    panel.add(button);
    button = new JButton("Tre");
	button.setInheritsPopupMenu(true);
    panel.add(button);

  	final JPopupMenu colorMenu = new JPopupMenu("Color");
    colorMenu.add(makeMenuItem("Red"));
    colorMenu.add(makeMenuItem("Green"));
    colorMenu.add(makeMenuItem("Blue"));
	panel.setComponentPopupMenu( colorMenu );
	panel.setBackground(Color.BLUE);

	frame.add( BorderLayout.CENTER, panel );
	frame.setSize(200,50);
	frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    frame.setVisible(true);
  }

  public void actionPerformed(ActionEvent e) {
    String color = e.getActionCommand();
    if (color.equals("Red"))
      selectedComponent.setBackground(Color.red);
    else if (color.equals("Green"))
      selectedComponent.setBackground(Color.green);
    else if (color.equals("Blue"))
      selectedComponent.setBackground(Color.blue);
  }

  private JMenuItem makeMenuItem(String label) {
    JMenuItem item = new JMenuItem(label);
    item.addActionListener( this );
    return item;
  }

  public static void main(String[] args) {
     new PopUpColorMenu2();
  }
}