- 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 class
Menu.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 方法 描述 MenuItem
add(MenuItem mi)
将指定的菜单项添加到此菜单。void
add(String label)
将具有指定标签的项目添加到此菜单。void
addNotify()
创建菜单的对等体。void
addSeparator()
在当前位置的菜单中添加分隔线或连字符。int
countItems()
已过时。从JDK 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()
删除菜单的对等体。-
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
-
-