java.lang.Object java.awt.MenuComponent java.awt.MenuItem java.awt.Menu
public class Menu
Menu
对象是从菜单栏部署的下拉式菜单组件。
菜单可以是任意分离式 菜单。可以打开分离式菜单,并从其父菜单栏或菜单中拖开。释放鼠标按钮之后,它仍然在屏幕上。分离菜单的机制与平台有关,因为分离式菜单的外观由其同位体确定。对于不支持分离式菜单的平台,分离属性会被忽略。
菜单中的每一项都必须属于 MenuItem
类。它可以是 MenuItem
的一个实例、子菜单(Menu
的一个实例)、或复选框(CheckboxMenuItem
的一个实例)。
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.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 |
构造方法详细信息 |
---|
public Menu() throws HeadlessException
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。
GraphicsEnvironment.isHeadless()
public Menu(String label) throws HeadlessException
label
- 菜单栏或其他菜单(此菜单是其子菜单)中菜单的标签。
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。
GraphicsEnvironment.isHeadless()
public Menu(String label, boolean tearOff) throws HeadlessException
可能并非 AWT 的所有实现都支持分离功能。如果特定的实现不支持分离式菜单,则此值会被默认忽略。
label
- 菜单栏或其他菜单(此菜单是其子菜单)中菜单的标签。
tearOff
- 如果为
true
,则该菜单为分离式菜单。
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true。
GraphicsEnvironment.isHeadless()
方法详细信息 |
---|
public void addNotify()
public void removeNotify()
MenuComponent
中的
removeNotify
public boolean isTearOff()
AWT 的所有实现都不支持分离功能。如果特定的实现不支持分离式菜单,则此值会被默认忽略。
true
;否则返回
false
。
public int getItemCount()
@Deprecated public int countItems()
getItemCount()
取代。
public MenuItem getItem(int index)
index
- 要返回的项的位置。
public MenuItem add(MenuItem mi)
mi
- 要添加的菜单项
insert(java.lang.String, int)
,
insert(java.awt.MenuItem, int)
public void add(String label)
label
- 该项上的文本
insert(java.lang.String, int)
,
insert(java.awt.MenuItem, int)
public void insert(MenuItem menuitem, int index)
menuitem
- 要插入的菜单项。
index
- 菜单项应插入的位置。
IllegalArgumentException
- 如果
index
的值小于零
add(java.lang.String)
,
add(java.awt.MenuItem)
public void insert(String label, int index)
insert(menuItem, index)
的一个便捷方法。
label
- 项的文本
index
- 菜单项应插入的位置
IllegalArgumentException
- 如果
index
的值小于零
add(java.lang.String)
,
add(java.awt.MenuItem)
public void addSeparator()
insertSeparator(int)
public void insertSeparator(int index)
index
- 菜单分隔符应插入的位置。
IllegalArgumentException
- 如果
index
的值小于 0。
addSeparator()
public void remove(int index)
index
- 要移除的项的位置。
public void remove(MenuComponent item)
MenuContainer
中的
remove
item
- 要从该菜单移除的项。如果
item
为
null
,或不在此菜单中,则此方法不执行任何操作。
public void removeAll()
public String paramString()
Menu
状态的字符串。此方法仅用于调试目的,对于这两个实现,返回的字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为
null
。
MenuItem
中的
paramString
public AccessibleContext getAccessibleContext()
Accessible
中的
getAccessibleContext
MenuItem
中的
getAccessibleContext