模块  java.desktop
软件包  java.awt

Class Choice

  • 实现的所有接口
    ImageObserverItemSelectableMenuContainerSerializableAccessible

    public class Choice
    extends Component
    implements ItemSelectable, Accessible
    Choice类提供了一个弹出菜单选项。 当前选项显示为菜单标题。

    以下代码示例生成一个弹出菜单:


     Choice ColorChooser = new Choice();
     ColorChooser.add("Green");
     ColorChooser.add("Red");
     ColorChooser.add("Blue");
     

    将此选项菜单添加到面板后,它在正常状态下显示如下:

    以下文字描述了图形

    在图片中, "Green"是目前的选择。 在对象上按下鼠标按钮会显示一个菜单,并突出显示当前选项。

    一些本机平台不支持任意调整大小Choice组件和行为setSize()/getSize()由这些限制的约束。 原生GUI Choice组件的大小通常受诸如Choice包含的字体大小和项目长度等属性的Choice

    从以下版本开始:
    1.0
    另请参见:
    Serialized Form
    • 方法详细信息

      • addNotify

        public void addNotify()
        创建Choice的同行。 此对等设备允许我们在不更改其功能的情况下更改Choice的外观。
        重写:
        addNotifyComponent
        另请参见:
        Component.getToolkit()
      • getItemCount

        public int getItemCount()
        返回此 Choice菜单中的项目数。
        结果
        Choice菜单中的项目数
        从以下版本开始:
        1.1
        另请参见:
        getItem(int)
      • countItems

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

        public String getItem​(int index)
        获取此 Choice菜单中指定索引处的字符串。
        参数
        index - 要开始的索引
        结果
        指定索引处的项目
        另请参见:
        getItemCount()
      • add

        public void add​(String item)
        将项添加到此 Choice菜单。
        参数
        item - 要添加的项目
        异常
        NullPointerException - 如果项目的值是 null
        从以下版本开始:
        1.1
      • addItem

        public void addItem​(String item)
        从Java 2平台v1.1开始已过时。 请改用add方法。

        将项添加到此Choice菜单。

        参数
        item - 要添加的项目
        异常
        NullPointerException - 如果项目的值等于 null
      • insert

        public void insert​(String item,
                           int index)
        在指定位置将项目插入此选项。 索引大于或等于index现有项目index移动一个以容纳新项目。 如果index大于或等于此选项中的项目数, item在此选项的末尾添加item

        如果该项目是第一个添加到选项中的项目,则该项目将被选中。 否则,如果所选项目是其中一个项目已移动,则选项中的第一个项目将成为所选项目。 如果所选项目在所移位的项目中没有,则它仍然是所选项目。

        参数
        item - 要插入的非 null项目
        index - 应插入项目的位置
        异常
        IllegalArgumentException - 如果index小于0
      • remove

        public void remove​(String item)
        Choice菜单中删除第一次出现的item 如果要删除的项目是当前选定的项目,则所选项目中的第一项将成为所选项目。 否则,当前选择的项目保持选中状态(并相应地更新所选索引)。
        参数
        item - 要从此 Choice菜单中删除的项目
        异常
        IllegalArgumentException - 如果选项菜单中不存在该项目
        从以下版本开始:
        1.1
      • remove

        public void remove​(int position)
        从指定位置的选择菜单中删除项目。 如果要删除的项目是当前选定的项目,则所选项目中的第一项将成为所选项目。 否则,当前选择的项目保持选中状态(并相应地更新所选索引)。
        参数
        position - 项目的位置
        异常
        IndexOutOfBoundsException - 如果指定的位置超出范围
        从以下版本开始:
        1.1
      • removeAll

        public void removeAll()
        从选择菜单中删除所有项目。
        从以下版本开始:
        1.1
        另请参见:
        remove(java.lang.String)
      • getSelectedItem

        public String getSelectedItem()
        获取当前选择的字符串表示形式。
        结果
        此选择菜单中当前所选项目的字符串表示形式
        另请参见:
        getSelectedIndex()
      • getSelectedObjects

        public Object[] getSelectedObjects()
        返回包含当前所选项的数组(长度为1)。 如果此选项没有项目,则返回null
        Specified by:
        getSelectedObjects在界面 ItemSelectable
        结果
        所选对象的列表,或 null
        另请参见:
        ItemSelectable
      • getSelectedIndex

        public int getSelectedIndex()
        返回当前所选项的索引。 如果未选择任何内容,则返回-1。
        结果
        当前所选项目的索引,如果当前未选择任何内容,则返回-1
        另请参见:
        getSelectedItem()
      • select

        public void select​(int pos)
        将此Choice菜单中的所选项目设置为指定位置的项目。

        请注意,此方法应主要用于初始选择此组件中的项目。 以编程方式调用此方法不会触发ItemEvent 触发ItemEvent的唯一方法是通过用户交互。

        参数
        pos - 所选项目的位置
        异常
        IllegalArgumentException - 如果指定的位置大于项目数或小于零
        另请参见:
        getSelectedItem()getSelectedIndex()
      • select

        public void select​(String str)
        将此Choice菜单中的所选项目设置为名称等于指定字符串的项目。 如果多个项匹配(等于)指定的字符串,则选择索引最小的项。

        请注意,此方法应主要用于初始选择此组件中的项目。 以编程方式调用此方法不会触发ItemEvent 触发ItemEvent的唯一方法是通过用户交互。

        参数
        str - 指定的字符串
        另请参见:
        getSelectedItem()getSelectedIndex()
      • getListeners

        public <T extends EventListener> T[] getListeners​(<T> listenerType)
        在此Choice返回当前注册为FooListener s的所有对象的数组。 FooListener s使用addFooListener方法注册。

        您可以使用类文字指定listenerType参数,例如FooListener.class 例如,您可以使用以下代码查询Choice c的项目侦听器:

          ItemListener[] ils = (ItemListener[])(c.getListeners(ItemListener.class)); 
        如果不存在此类侦听器,则此方法返回空数组。
        重写:
        getListeners在类 Component
        参数类型
        T - 侦听器的类型
        参数
        listenerType - 请求的侦听器类型; 此参数应指定从java.util.EventListener下降的接口
        结果
        此选项上注册为 FooListener的所有对象的数组,如果没有添加此类侦听器,则为空数组
        异常
        ClassCastException - 如果 listenerType未指定实现 java.util.EventListener的类或接口
        从以下版本开始:
        1.3
        另请参见:
        getItemListeners()
      • processEvent

        protected void processEvent​(AWTEvent e)
        处理此选择的事件。 如果事件是ItemEvent的实例,则调用processItemEvent方法。 否则,它会调用其超类的processEvent方法。

        请注意,如果事件参数为null则行为未指定,可能会导致异常。

        重写:
        processEventComponent
        参数
        e - 活动
        从以下版本开始:
        1.1
        另请参见:
        ItemEventprocessItemEvent(java.awt.event.ItemEvent)
      • processItemEvent

        protected void processItemEvent​(ItemEvent e)
        处理此Choice菜单上发生的项目事件, Choice是将它们分派给任何已注册的ItemListener对象。

        除非为此组件启用了项事件,否则不会调用此方法。 发生以下任一情况时启用项目事件:

        • ItemListener对象是通过addItemListener注册的。
        • 项目事件通过enableEvents启用。

        请注意,如果事件参数为null则行为未指定,可能会导致异常。

        参数
        e - 项目事件
        从以下版本开始:
        1.1
        另请参见:
        ItemEventItemListeneraddItemListener(ItemListener)Component.enableEvents(long)
      • paramString

        protected String paramString()
        返回表示此Choice菜单状态的字符串。 此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
        重写:
        paramStringComponent
        结果
        Choice菜单的参数字符串
      • getAccessibleContext

        public AccessibleContext getAccessibleContext()
        获取AccessibleContext与此相关Choice Choice元件, AccessibleContext需要一个的形式AccessibleAWTChoice 如有必要,将创建一个新的AccessibleAWTChoice实例。
        Specified by:
        getAccessibleContext在界面 Accessible
        重写:
        getAccessibleContextComponent
        结果
        AccessibleAWTChoice ,作为 AccessibleContextChoice
        从以下版本开始:
        1.3