buoy.widget
Class BMenu

java.lang.Object
  extended by buoy.event.EventSource
      extended by buoy.widget.Widget
          extended by buoy.widget.WidgetContainer
              extended by buoy.widget.BMenu
All Implemented Interfaces:
MenuWidget

public class BMenu
extends WidgetContainer
implements MenuWidget

A BMenu is a WidgetContainer corresponding to a pulldown menu in the menu bar of a window.

Author:
Peter Eastman

Constructor Summary
BMenu()
          Create a new BMenu with no title.
BMenu(java.lang.String title)
          Create a new BMenu.
 
Method Summary
 void add(MenuWidget widget)
          Add a MenuWidget (typically a BMenuItem or another BMenu) to the end of the menu.
 void add(MenuWidget widget, int index)
          Add a MenuWidget (typically a BMenuItem or another BMenu) to the menu.
 void addSeparator()
          Add a dividing line (a BSeparator) to the end of the menu.
 MenuWidget getChild(int i)
          Get the i'th child of this container.
 int getChildCount()
          Get the number of children in this container.
 java.util.Collection<Widget> getChildren()
          Get a Collection containing all child Widgets of this container.
 javax.swing.JMenu getComponent()
          Get the java.awt.Component corresponding to this Widget.
 int getMnemonic()
          Get the mnemonic which can be used to activate this menu in keyboard navigation mode.
 java.lang.String getText()
          Get the title of this menu which appears in the menu bar.
 void layoutChildren()
          Layout the child Widgets.
 void remove(Widget widget)
          Remove a child Widget from this container.
 void removeAll()
          Remove all child Widgets from this container.
 void setMnemonic(int key)
          Set the mnemonic which can be used to activate this menu in keyboard navigation mode.
 void setText(java.lang.String title)
          Set the title of this menu which appears in the menu bar.
 
Methods inherited from class buoy.widget.WidgetContainer
isOpaque, setOpaque
 
Methods inherited from class buoy.widget.Widget
addEventLink, dispatchEvent, getBackground, getBounds, getCursor, getFont, getMaximumSize, getMinimumSize, getName, getParent, getPreferredSize, hasFocus, isEnabled, isFocusable, isVisible, repaint, requestFocus, setBackground, setCursor, setEnabled, setFocusable, setFont, setName, setVisible
 
Methods inherited from class buoy.event.EventSource
addEventLink, addEventLink, removeEventLink
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BMenu

public BMenu()
Create a new BMenu with no title.


BMenu

public BMenu(java.lang.String title)
Create a new BMenu.

Parameters:
title - the title of the menu
Method Detail

getComponent

public javax.swing.JMenu getComponent()
Description copied from class: Widget
Get the java.awt.Component corresponding to this Widget.

Overrides:
getComponent in class Widget

getText

public java.lang.String getText()
Get the title of this menu which appears in the menu bar.


setText

public void setText(java.lang.String title)
Set the title of this menu which appears in the menu bar.


getMnemonic

public int getMnemonic()
Get the mnemonic which can be used to activate this menu in keyboard navigation mode.

Returns:
the key code (defined by the KeyEvent class) which activates this menu

setMnemonic

public void setMnemonic(int key)
Set the mnemonic which can be used to activate this menu in keyboard navigation mode.

Parameters:
key - the key code (defined by the KeyEvent class) which activates this menu

add

public void add(MenuWidget widget)
Add a MenuWidget (typically a BMenuItem or another BMenu) to the end of the menu.

Parameters:
widget - the MenuWidget to add

add

public void add(MenuWidget widget,
                int index)
Add a MenuWidget (typically a BMenuItem or another BMenu) to the menu.

Parameters:
widget - the MenuWidget to add
index - the position at which to add it

addSeparator

public void addSeparator()
Add a dividing line (a BSeparator) to the end of the menu.


getChildCount

public int getChildCount()
Get the number of children in this container.

Specified by:
getChildCount in class WidgetContainer

getChild

public MenuWidget getChild(int i)
Get the i'th child of this container.


getChildren

public java.util.Collection<Widget> getChildren()
Get a Collection containing all child Widgets of this container.

Specified by:
getChildren in class WidgetContainer

remove

public void remove(Widget widget)
Remove a child Widget from this container.

Specified by:
remove in class WidgetContainer

removeAll

public void removeAll()
Remove all child Widgets from this container.

Specified by:
removeAll in class WidgetContainer

layoutChildren

public void layoutChildren()
Layout the child Widgets. This may be invoked whenever something has changed (the size of this WidgetContainer, the preferred size of one of its children, etc.) that causes the layout to no longer be correct. If a child is itself a WidgetContainer, its layoutChildren() method will be called in turn.

Specified by:
layoutChildren in class WidgetContainer


Written by Peter Eastman.