Module java.desktop
Package java.awt

Class Menu

所有已实现的接口:
MenuContainer, Serializable, Accessible
直接已知的子类:
PopupMenu

public class Menu extends MenuItem implements MenuContainer, Accessible
Menu对象是从菜单栏部署的下拉菜单组件。

菜单可以选择性地是一个可拆分菜单。可拆分菜单可以从其父菜单栏或菜单中打开并拖动。释放鼠标按钮后,它将保留在屏幕上。拆分菜单的机制取决于平台,因为拆分菜单的外观和感觉取决于其对等体。在不支持拆分菜单的平台上,拆分属性将被忽略。

菜单中的每个项目必须属于MenuItem类。它可以是MenuItem的实例,子菜单(Menu的实例),或复选框(CheckboxMenuItem的实例)。

自:
1.0
参见:
  • Constructor Details

    • Menu

      public Menu() throws HeadlessException
      用空标签构造一个新菜单。此菜单不是可拆分菜单。
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
      自:
      1.1
      参见:
    • Menu

      public Menu(String label) throws HeadlessException
      用指定的标签构造一个新菜单。此菜单不是可拆分菜单。
      参数:
      label - 菜单栏中的菜单标签,或此菜单是其子菜单的另一个菜单的标签。
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
      参见:
    • Menu

      public Menu(String label, boolean tearOff) throws HeadlessException
      用指定的标签构造一个新菜单,指示菜单是否可以拆分。

      并非所有AWT实现都支持拆分功能。如果特定实现不支持拆分菜单,则此值将被静默忽略。

      参数:
      label - 菜单栏中的菜单标签,或此菜单是其子菜单的另一个菜单的标签。
      tearOff - 如果为true,则菜单是可拆分菜单。
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
      参见:
  • Method Details

    • addNotify

      public void addNotify()
      创建菜单的对等体。对等体允许我们修改菜单的外观而不改变其功能。
      覆盖:
      addNotify 在类 MenuItem
    • removeNotify

      public void removeNotify()
      删除菜单的对等体。对等体允许我们修改菜单的外观而不改变其功能。
      覆盖:
      removeNotify 在类 MenuComponent
    • isTearOff

      public boolean isTearOff()
      指示此菜单是否为可拆分菜单。

      并非所有AWT实现都支持拆分功能。如果特定实现不支持拆分菜单,则此值将被静默忽略。

      返回:
      如果这是一个可拆分菜单,则为true; 否则为false
    • getItemCount

      public int getItemCount()
      获取此菜单中的项目数。
      返回:
      此菜单中的项目数
      自:
      1.1
    • countItems

      @Deprecated public int countItems()
      Deprecated.
      As of JDK version 1.1, replaced by getItemCount().
      返回此菜单中的项目数。
      返回:
      此菜单中的项目数
    • getItem

      public MenuItem getItem(int index)
      获取此菜单中指定索引处的项目。
      参数:
      index - 要返回的项目的位置。
      返回:
      指定索引处的项目。
    • add

      public MenuItem add(MenuItem mi)
      将指定的菜单项添加到此菜单。如果菜单项已经是另一个菜单的一部分,则从该菜单中删除它。
      参数:
      mi - 要添加的菜单项
      返回:
      添加的菜单项
      参见:
    • add

      public void add(String label)
      向此菜单添加具有指定标签的项目。
      参数:
      label - 项目上的文本
      参见:
    • insert

      public void insert(MenuItem menuitem, int index)
      在此菜单的指定位置插入菜单项。
      参数:
      menuitem - 要插入的菜单项。
      index - 应插入菜单项的位置。
      抛出:
      IllegalArgumentException - 如果index的值小于零
      自:
      1.1
      参见:
    • insert

      public void insert(String label, int index)
      在指定位置将具有指定标签的菜单项插入此菜单。这是insert(menuItem, index)的便利方法。
      参数:
      label - 项目上的文本
      index - 应插入菜单项的位置
      抛出:
      IllegalArgumentException - 如果index的值小于零
      自:
      1.1
      参见:
    • addSeparator

      public void addSeparator()
      在当前位置的菜单中添加分隔线或连字符。
      参见:
    • insertSeparator

      public void insertSeparator(int index)
      在指定位置插入分隔符。
      参数:
      index - 应插入菜单分隔符的位置。
      抛出:
      IllegalArgumentException - 如果index的值小于0。
      自:
      1.1
      参见:
    • remove

      public void remove(int index)
      从此菜单中删除指定索引处的菜单项。
      参数:
      index - 要删除的项目的位置。
    • remove

      public void remove(MenuComponent item)
      从此菜单中删除指定的菜单项。
      指定由:
      remove 在接口 MenuContainer
      参数:
      item - 要从菜单中移除的项目。如果itemnull或不在此菜单中,则此方法不执行任何操作。
    • removeAll

      public void removeAll()
      从此菜单中移除所有项目。
      自从:
      1.1
    • paramString

      public String paramString()
      返回表示此Menu状态的字符串。此方法仅用于调试目的,返回的字符串的内容和格式可能因实现而异。返回的字符串可能为空,但不能为null
      覆盖:
      paramString 在类 MenuItem
      返回:
      此菜单的参数字符串
    • getAccessibleContext

      public AccessibleContext getAccessibleContext()
      获取与此菜单关联的AccessibleContext。对于菜单,AccessibleContext采用AccessibleAWTMenu的形式。如有必要,将创建一个新的AccessibleAWTMenu实例。
      指定由:
      getAccessibleContext 在接口 Accessible
      覆盖:
      getAccessibleContext 在类 MenuItem
      返回:
      作为此菜单AccessibleContext的AccessibleAWTMenu
      自从:
      1.3