- java.lang.Object
-
- java.awt.MenuComponent
-
- java.awt.MenuItem
-
- java.awt.Menu
-
- All Implemented Interfaces:
-
MenuContainer,Serializable,Accessible
- 已知直接子类:
-
PopupMenu
public class Menu extends MenuItem implements MenuContainer, Accessible
Menu对象是从菜单栏部署的下拉菜单组件。菜单可以选择是撕下菜单。 可以打开撕纸菜单并将其从父菜单栏或菜单中拖出。 鼠标按钮释放后仍保留在屏幕上。 拆卸菜单的机制是平台依赖的,因为撕下菜单的外观和感觉是由其对等方确定的。 在不支持拆除菜单的平台上,撕除属性将被忽略。
菜单中的每个项目都必须属于
MenuItem类。 它可以是一个MenuItem的实例,一个子菜单(一个实例Menu)或一个复选框(一个CheckboxMenuItem的实例)。- 从以下版本开始:
- 1.0
- 另请参见:
-
MenuItem,CheckboxMenuItem, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected classMenu.AccessibleAWTMenu菜单的内部类用于提供对辅助功能的默认支持。-
Nested classes/interfaces inherited from class java.awt.MenuComponent
MenuComponent.AccessibleAWTMenuComponent
-
Nested classes/interfaces inherited from class java.awt.MenuItem
MenuItem.AccessibleAWTMenuItem
-
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 MenuItemadd(MenuItem mi)将指定的菜单项添加到此菜单。voidadd(String label)将具有指定标签的项目添加到此菜单。voidaddNotify()创建菜单的对等体。voidaddSeparator()在当前位置的菜单中添加分隔线或连字符。intcountItems()已过时。从JDK 1.1版开始,由getItemCount()替代。AccessibleContextgetAccessibleContext()获取与此菜单关联的AccessibleContext。MenuItemgetItem(int index)获取位于此菜单的指定索引处的项目。intgetItemCount()获取此菜单中的项目数量。voidinsert(MenuItem menuitem, int index)在指定位置的菜单中插入菜单项。voidinsert(String label, int index)在指定位置的菜单中插入带有指定标签的菜单项。voidinsertSeparator(int index)在指定位置插入分隔符。booleanisTearOff()指示此菜单是否为撕纸菜单。StringparamString()返回一个表示Menu状态的字符串。voidremove(int index)从此菜单中删除指定索引处的菜单项。voidremove(MenuComponent item)从此菜单中删除指定的菜单项。voidremoveAll()从此菜单中删除所有项目。voidremoveNotify()删除菜单的对等体。-
Methods inherited from class java.awt.MenuComponent
dispatchEvent, getFont, getName, getParent, getTreeLock, postEvent, setFont, setName, toString
-
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
Methods inherited from class java.awt.MenuItem
addActionListener, deleteShortcut, disable, disableEvents, enable, enable, enableEvents, getActionCommand, getActionListeners, getLabel, getListeners, getShortcut, isEnabled, processActionEvent, processEvent, removeActionListener, setActionCommand, setEnabled, setLabel, setShortcut
-
-
-
-
构造方法详细信息
-
Menu
public Menu() throws HeadlessException构造一个带有空标签的新菜单。 此菜单不是撕纸菜单。- 异常
-
HeadlessException- 如果GraphicsEnvironment.isHeadless()返回true。 - 从以下版本开始:
- 1.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。 - 另请参见:
-
GraphicsEnvironment.isHeadless()
-
-
方法详细信息
-
removeNotify
public void removeNotify()
删除菜单的对等体。 对等体允许我们修改菜单的外观而不改变其功能。
-
isTearOff
public boolean isTearOff()
指示此菜单是否为撕纸菜单。AWT的所有实现可能不支持撕除功能。 如果某个特定的实现不支持撕下菜单,则该值将被忽略。
- 结果
-
true如果这是一个撕下菜单; 否则为false。
-
getItemCount
public int getItemCount()
获取此菜单中的项目数量。- 结果
- 此菜单中的项目数
- 从以下版本开始:
- 1.1
-
countItems
@Deprecated public int countItems()
已过时。 从JDK 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小于零 - 从以下版本开始:
- 1.1
- 另请参见:
-
add(java.lang.String),add(java.awt.MenuItem)
-
insert
public void insert(String label, int index)
在指定位置的菜单中插入带有指定标签的菜单项。 这是一个方便的方法insert(menuItem, index)。- 参数
-
label- 该项目的文本 -
index- 要插入菜单项的位置 - 异常
-
IllegalArgumentException-如果值index小于零 - 从以下版本开始:
- 1.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。 - 从以下版本开始:
- 1.1
- 另请参见:
-
addSeparator()
-
remove
public void remove(int index)
从此菜单中删除指定索引处的菜单项。- 参数
-
index- 要删除的项目的位置。
-
remove
public void remove(MenuComponent item)
从此菜单中删除指定的菜单项。- Specified by:
-
remove在接口MenuContainer - 参数
-
item- 从菜单中删除的项目。 如果item是null或者不在这个菜单中,这个方法什么都不做。
-
removeAll
public void removeAll()
从此菜单中删除所有项目。- 从以下版本开始:
- 1.1
-
paramString
public String paramString()
返回表示Menu的状态的字符串。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null。- 重写:
-
paramString在MenuItem - 结果
- 该菜单的参数字符串
-
getAccessibleContext
public AccessibleContext getAccessibleContext()
获取与此菜单关联的AccessibleContext。 对于菜单,AccessibleContext采用AccessibleAWTMenu的形式。 如有必要,将创建一个新的AccessibleAWTMenu实例。- Specified by:
-
getAccessibleContext在接口Accessible - 重写:
-
getAccessibleContext在MenuItem - 结果
- 一个AccessibleAWTMenu,用作此菜单的AccessibleContext
- 从以下版本开始:
- 1.3
-
-