Module  java.desktop
软件包  java.awt

Class Choice

  • All Implemented Interfaces:
    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​()
        已过时。 截至JDK 1.1版,由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 - 如果索引小于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​(Class<T> listenerType)
        返回当前注册为FooListener的所有对象的数组,这个Choice FooListener使用addFooListener注册。

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

          ItemListener[] ils = (ItemListener[])(c.getListeners(ItemListener.class)); 
        如果没有这样的侦听器存在,这个方法返回一个空数组。
        重写:
        getListenersComponent
        参数类型
        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)
        通过将其发送到任何已注册的ItemListener对象来处理此Choice菜单上发生的项目事件。

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

        • 通过addItemListener注册ItemListener对象。
        • 项目事件通过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 ,作为 AccessibleContext的这个 Choice
        从以下版本开始:
        1.3