ui/src/main/java/ucar/nc2/ui/gis/MapBean.java
public javax.swing.Action getAction() {
    AbstractAction useMap = new AbstractAction(getActionName(), getIcon()) {
      public void actionPerformed(java.awt.event.ActionEvent e) {
        firePropertyChangeEvent(this, "Renderer", null, getRenderer());
      }
    };
    useMap.putValue(Action.SHORT_DESCRIPTION, getActionDesc());

    return useMap;
  }
public javax.swing.Action getAction() {
    AbstractAction useMap = new AbstractAction(getActionName(), getIcon()) {
      public void actionPerformed(java.awt.event.ActionEvent e) {
        firePropertyChangeEvent(this, "Renderer", null, getRenderer());
      }
    };
    useMap.putValue(Action.SHORT_DESCRIPTION, getActionDesc());

    return useMap;
  }
Construct the Action that is called when this bean's menu item/buttcon is selected.
Typically this routine is only called once when the bean is added.
The Action itself is called whenever the menu/buttcon is selected.

The action should have NAME, SMALL_ICON and SHORT_DESC properties set.
The applications uses these to put up a buttcon and menu item.
The actionPerformed() method may do various things, but it must
send a PropertyChangeEvent with newValue = Renderer.
@return the Action to be called.