public class Menu extends MenuItem implements MenuContainer, Accessible
Menu
对象是从菜单栏部署的下拉菜单组件。
菜单可以选择是撕下菜单。 可以打开撕纸菜单并将其从父菜单栏或菜单中拖出。 鼠标按钮释放后仍保留在屏幕上。 拆卸菜单的机制是平台依赖的,因为撕下菜单的外观和感觉是由其对等方确定的。 在不支持拆除菜单的平台上,撕除属性将被忽略。
菜单中的每个项目必须属于MenuItem
类。 它可以是一个MenuItem
的实例,一个子菜单(一个实例Menu
)或一个复选框(一个实例的CheckboxMenuItem
)。
MenuItem
, CheckboxMenuItem
, Serialized Form
Modifier and Type | Class and Description |
---|---|
protected class |
Menu.AccessibleAWTMenu
菜单的内部类用于提供对辅助功能的默认支持。
|
MenuItem.AccessibleAWTMenuItem
MenuComponent.AccessibleAWTMenuComponent
Constructor and Description |
---|
Menu()
构造一个带有空标签的新菜单。
|
Menu(String label)
构造一个带有指定标签的新菜单。
|
Menu(String label, boolean tearOff)
构造具有指定标签的新菜单,指示菜单是否可以被拆除。
|
Modifier and Type | Method and Description |
---|---|
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()
删除菜单的对等体。
|
addActionListener, deleteShortcut, disable, disableEvents, enable, enable, enableEvents, getActionCommand, getActionListeners, getLabel, getListeners, getShortcut, isEnabled, processActionEvent, processEvent, removeActionListener, setActionCommand, setEnabled, setLabel, setShortcut
dispatchEvent, getFont, getName, getParent, getPeer, getTreeLock, postEvent, setFont, setName, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
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 removeNotify()
removeNotify
在类别
MenuComponent
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)
remove
在界面
MenuContainer
item
- 从菜单中删除的项目。
如果item
是null
或不在此菜单中,此方法什么都不做。
public void removeAll()
public String paramString()
Menu
状态的字符串。
该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。
返回的字符串可能为空,但可能不是null
。
paramString
在类别
MenuItem
public AccessibleContext getAccessibleContext()
getAccessibleContext
在界面
Accessible
getAccessibleContext
在
MenuItem