java.awt

接口
异常
错误
java.lang.Object
  继承者 java.awt.MenuComponent
      继承者 java.awt.MenuItem
          继承者 java.awt.Menu
所有已实现的接口:
MenuContainer, Serializable, Accessible
直接已知子类:
PopupMenu

public class Menu
     
extends MenuItem
implements MenuContainer, Accessible

Menu 对象是从菜单栏部署的下拉式菜单组件。

菜单可以是任意分离式 菜单。可以打开分离式菜单,并从其父菜单栏或菜单中拖开。释放鼠标按钮之后,它仍然在屏幕上。分离菜单的机制与平台有关,因为分离式菜单的外观由其同位体确定。对于不支持分离式菜单的平台,分离属性会被忽略。

菜单中的每一项都必须属于 MenuItem 类。它可以是 MenuItem 的一个实例、子菜单(Menu 的一个实例)、或复选框(CheckboxMenuItem 的一个实例)。

从以下版本开始:
JDK1.0
另请参见:
MenuItem, CheckboxMenuItem, 序列化表格

嵌套类摘要
protected  class Menu.AccessibleAWTMenu
          菜单的内部类,用于为可访问性提供默认支持。
 
从类 java.awt.MenuItem 继承的嵌套类/接口
MenuItem.AccessibleAWTMenuItem
 
从类 java.awt.MenuComponent 继承的嵌套类/接口
MenuComponent.AccessibleAWTMenuComponent
 
构造方法摘要
Menu()
          构造具有空标签的新菜单。
Menu(String label)
          构造具有指定标签的新菜单。
Menu(String label, boolean tearOff)
          构造具有指定标签的新菜单,指示该菜单是否可以分离。
 
方法摘要
 MenuItem add(MenuItem mi)
          将指定的菜单项添加到此菜单。
 void add(String label)
          将带有指定标签的项添加到此菜单。
 void addNotify()
          创建该菜单的同位体。
 void addSeparator()
          将一个分隔线或连字符添加到菜单的当前位置。
 int countItems()
          已过时。 从 JDK version 1.1 开始,已由 getItemCount() 取代。
 AccessibleContext getAccessibleContext()
          获取与此菜单关联的 AccessibleContext。
 MenuItem getItem(int index)
          获取此菜单的指定索引处的项。
 int getItemCount()
          获取此菜单中的项数。
 void insert(MenuItem menuitem, int index)
          将菜单项插入到此菜单的指定位置。
 void insert(String label, int index)
          将带有指定标签的菜单项插入到此菜单的指定位置。
 void insertSeparator(int index)
          在指定的位置插入分隔符。
 boolean isTearOff()
          指示此菜单是否为分离式菜单。
 String paramString()
          返回表示此 Menu 状态的字符串。
 void remove(int index)
          从此菜单移除指定索引处的菜单项。
 void remove(MenuComponent item)
          从此菜单移除指定的菜单项。
 void removeAll()
          从此菜单移除所有项。
 void removeNotify()
          移除该菜单的同位体。
 
从类 java.awt.MenuItem 继承的方法
addActionListener, deleteShortcut, disable, disableEvents, enable, enable, enableEvents, getActionCommand, getActionListeners, getLabel, getListeners, getShortcut, isEnabled, processActionEvent, processEvent, removeActionListener, setActionCommand, setEnabled, setLabel, setShortcut
 
从类 java.awt.MenuComponent 继承的方法
dispatchEvent, getFont, getName, getParent, getPeer, getTreeLock, postEvent, setFont, setName, toString
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
从接口 java.awt.MenuContainer 继承的方法
getFont, postEvent
 

构造方法详细信息

Menu

public Menu()
     throws HeadlessException
构造具有空标签的新菜单。此菜单不是分离式菜单。

抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
从以下版本开始:
JDK1.1
另请参见:
GraphicsEnvironment.isHeadless()

Menu

public Menu(String label)
     throws HeadlessException
构造具有指定标签的新菜单。此菜单不是分离式菜单。

参数:
label - 菜单栏或其他菜单(此菜单是其子菜单)中菜单的标签。
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另请参见:
GraphicsEnvironment.isHeadless()

Menu

public Menu(String label,
            boolean tearOff)
     throws HeadlessException
构造具有指定标签的新菜单,指示该菜单是否可以分离。

可能并非 AWT 的所有实现都支持分离功能。如果特定的实现不支持分离式菜单,则此值会被默认忽略。

参数:
label - 菜单栏或其他菜单(此菜单是其子菜单)中菜单的标签。
tearOff - 如果为 true,则该菜单为分离式菜单。
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
从以下版本开始:
JDK1.0.
另请参见:
GraphicsEnvironment.isHeadless()
方法详细信息

addNotify

public void addNotify()
创建该菜单的同位体。该同位体允许我们修改该菜单的外观,而不更改其功能。

覆盖:
MenuItem 中的 addNotify

removeNotify

public void removeNotify()
移除该菜单的同位体。该同位体允许我们修改该菜单的外观,而不更改其功能。

覆盖:
MenuComponent 中的 removeNotify

isTearOff

public boolean isTearOff()
指示此菜单是否为分离式菜单。

AWT 的所有实现都不支持分离功能。如果特定的实现不支持分离式菜单,则此值会被默认忽略。

返回:
如果这是一个分离式菜单,则返回 true;否则返回 false

getItemCount

public int getItemCount()
获取此菜单中的项数。

返回:
此菜单中的项数。
从以下版本开始:
JDK1.1

countItems

@Deprecated
public int countItems()
已过时。  从 JDK version 1.1 开始,已由 getItemCount() 取代。


getItem

public MenuItem getItem(int index)
获取此菜单的指定索引处的项。

参数:
index - 要返回的项的位置。
返回:
指定索引处的项。

add

public MenuItem add(MenuItem mi)
将指定的菜单项添加到此菜单。如果该菜单项为另一个菜单的一部分,则从该菜单移除它。

参数:
mi - 要添加的菜单项
返回:
已添加的菜单项
另请参见:
insert(java.lang.String, int), insert(java.awt.MenuItem, int)

add

public void add(String label)
将带有指定标签的项添加到此菜单。

参数:
label - 该项上的文本
另请参见:
insert(java.lang.String, int), insert(java.awt.MenuItem, int)

insert

public void insert(MenuItem menuitem,
                   int index)
将菜单项插入到此菜单的指定位置。

参数:
menuitem - 要插入的菜单项。
index - 菜单项应插入的位置。
抛出:
IllegalArgumentException - 如果 index 的值小于零
从以下版本开始:
JDK1.1
另请参见:
add(java.lang.String), add(java.awt.MenuItem)

insert

public void insert(String label,
                   int index)
将带有指定标签的菜单项插入到此菜单的指定位置。这是 insert(menuItem, index) 的一个便捷方法。

参数:
label - 项的文本
index - 菜单项应插入的位置
抛出:
IllegalArgumentException - 如果 index 的值小于零
从以下版本开始:
JDK1.1
另请参见:
add(java.lang.String), add(java.awt.MenuItem)

addSeparator

public void addSeparator()
将一个分隔线或连字符添加到菜单的当前位置。

另请参见:
insertSeparator(int)

insertSeparator

public void insertSeparator(int index)
在指定的位置插入分隔符。

参数:
index - 菜单分隔符应插入的位置。
抛出:
IllegalArgumentException - 如果 index 的值小于 0。
从以下版本开始:
JDK1.1
另请参见:
addSeparator()

remove

public void remove(int index)
从此菜单移除指定索引处的菜单项。

参数:
index - 要移除的项的位置。

remove

public void remove(MenuComponent item)
从此菜单移除指定的菜单项。

指定者:
接口 MenuContainer 中的 remove
参数:
item - 要从该菜单移除的项。如果 itemnull,或不在此菜单中,则此方法不执行任何操作。

removeAll

public void removeAll()
从此菜单移除所有项。

从以下版本开始:
JDK1.0.

paramString

public String paramString()
返回表示此 Menu 状态的字符串。此方法仅用于调试目的,对于这两个实现,返回的字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null

覆盖:
MenuItem 中的 paramString
返回:
此菜单的参数字符串

getAccessibleContext

public AccessibleContext getAccessibleContext()
获取与此菜单关联的 AccessibleContext。对于菜单,AccessibleContext 会采用 AccessibleAWTMenu 的窗体。必要时创建一个新的 AccessibleAWTDialog 实例。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
MenuItem 中的 getAccessibleContext
返回:
用作此菜单的 AccessibleContext 的 AccessibleAWTMenu
从以下版本开始:
1.3