java.lang.Objectjava.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