模块  java.desktop
软件包  java.awt

Class List

  • 实现的所有接口
    ImageObserverItemSelectableMenuContainerSerializableAccessible

    public class Listextends Componentimplements ItemSelectable, Accessible
    List组件向用户显示文本项的滚动列表。 可以设置列表,以便用户可以选择一个项目或多个项目。

    例如,代码。


     List lst = new List(4, false); lst.add("Mercury"); lst.add("Venus"); lst.add("Earth"); lst.add("JavaSoft"); lst.add("Mars"); lst.add("Jupiter"); lst.add("Saturn"); lst.add("Uranus"); lst.add("Neptune"); lst.add("Pluto"); cnt.add(lst); 

    其中cnt是一个容器,产生以下滚动列表:

    显示包含以下内容的列表:Venus,Earth,JavaSoft和Mars。 Javasoft入选。

    如果列表允许多个选择,则单击已选择的项目将取消选择它。 在前面的示例中,一次只能选择滚动列表中的一个项目,因为创建新滚动列表时的第二个参数是false 如果列表不允许多个选择,则选择项目会导致取消选择任何其他所选项目。

    请注意,显示的示例中的列表是使用四个可见行创建的。 创建列表后,无法更改可见行数。 创建默认值List ,其中包含四行,因此lst = new List()等效于list = new List(4, false)

    从Java 1.1开始,Abstract Window Toolkit向List对象发送在其上List所有鼠标,键盘和焦点事件。 (旧的AWT事件模型仅用于向后兼容,并且不鼓励使用它。)

    当用户选择或取消选择某个项目时,AWT会向列表发送ItemEvent的实例。 当用户双击滚动列表中的项目时,AWT会在项目事件后面的列表中发送ActionEvent的实例。 当用户在选择列表中的项目时按下返回键时,AWT也会生成一个动作事件。

    如果应用程序想要根据用户选择或激活此列表中的项目执行某些操作,则应根据需要实施ItemListenerActionListener并注册新侦听器以从此列表接收事件。

    对于多选滚动列表,使用外部手势(例如单击按钮)来触发操作被认为是更好的用户界面。

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

      • List

        public List()     throws HeadlessException
        创建一个新的滚动列表。 默认情况下,有四条可见行,不允许多个选择。 请注意,这是List(0, false)的便捷方法。 另请注意,列表中的可见行数在创建后无法更改。
        异常
        HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
        另请参见:
        GraphicsEnvironment.isHeadless()
      • List

        public List​(int rows)     throws HeadlessException
        创建使用指定数量的可见行初始化的新滚动列表。 默认情况下,不允许多个选择。 请注意,这是List(rows, false)的便捷方法。 另请注意,列表中的可见行数在创建后无法更改。
        参数
        rows - 要显示的项目数。
        异常
        HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
        从以下版本开始:
        1.1
        另请参见:
        GraphicsEnvironment.isHeadless()
      • List

        public List​(int rows,            boolean multipleMode)     throws HeadlessException
        创建一个初始化的新滚动列表,以显示指定的行数。 请注意,如果指定了零行,则将使用默认的四行创建列表。 另请注意,列表中的可见行数在创建后无法更改。 如果multipleMode的值是true ,则用户可以从列表中选择多个项目。 如果是false ,则false只能选择一个项目。
        参数
        rows - 要显示的项目数。
        multipleMode - 如果是true ,则允许多个选择; 否则,一次只能选择一个项目。
        异常
        HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
        另请参见:
        GraphicsEnvironment.isHeadless()
    • 方法详细信息

      • getItemCount

        public int getItemCount()
        获取列表中的项目数。
        结果
        列表中的项目数
        从以下版本开始:
        1.1
        另请参见:
        getItem(int)
      • countItems

        @Deprecatedpublic int countItems()
        Deprecated.
        As of JDK version 1.1, replaced by getItemCount().
        返回列表中的项目数。
        结果
        列表中的项目数
      • getItem

        public String getItem​(int index)
        获取与指定索引关联的项。
        参数
        index - 项目的位置
        结果
        与指定索引关联的项目
        另请参见:
        getItemCount()
      • add

        public void add​(String item)
        将指定的项添加到滚动列表的末尾。
        参数
        item - 要添加的项目
        从以下版本开始:
        1.1
      • addItem

        @Deprecatedpublic void addItem​(String item)
        Deprecated.
        replaced by add(String).
        将指定的项添加到列表的末尾。
        参数
        item - 要添加的项目
      • add

        public void add​(String item,                int index)
        将指定的项添加到索引指示的位置的滚动列表中。 该指数从零开始。 如果索引的值小于零,或者索引的值大于或等于列表中的项目数,则该项目将添加到列表的末尾。
        参数
        item - 要添加的项目; 如果此参数为null则该项目将被视为空字符串, ""
        index - 添加项目的位置
        从以下版本开始:
        1.1
      • addItem

        @Deprecatedpublic void addItem​(String item,                    int index)
        Deprecated.
        replaced by add(String, int).
        将指定项添加到索引所指示位置的列表中。
        参数
        item - 要添加的项目
        index - 添加项目的位置
      • replaceItem

        public void replaceItem​(String newValue,                        int index)
        使用新字符串替换滚动列表中指定索引处的项目。
        参数
        newValue - 用于替换现有项目的新字符串
        index - 要替换的项目的位置
        异常
        ArrayIndexOutOfBoundsException - 如果 index超出范围
      • clear

        @Deprecatedpublic void clear()
        Deprecated.
        As of JDK version 1.1, replaced by removeAll().
      • remove

        public void remove​(String item)
        从列表中删除第一个项目。 如果选择了指定的项目,并且该列表是列表中唯一选定的项目,则列表将设置为无选择。
        参数
        item - 要从列表中删除的项目
        异常
        IllegalArgumentException - 如果列表中不存在该项目
        从以下版本开始:
        1.1
      • remove

        public void remove​(int position)
        从此滚动列表中删除指定位置的项目。 如果选择了具有指定位置的项目,并且该项目是列表中唯一选定的项目,则列表将设置为无选择。
        参数
        position - 要删除的项目的索引
        异常
        ArrayIndexOutOfBoundsException - 如果 position小于0或大于 getItemCount()-1
        从以下版本开始:
        1.1
        另请参见:
        add(String, int)
      • delItem

        @Deprecatedpublic void delItem​(int position)
        Deprecated.
        replaced by remove(String) and remove(int).
        删除指定位置的项目。
        参数
        position - 要删除的项目的索引
      • getSelectedIndex

        public int getSelectedIndex()
        获取列表中所选项的索引,
        结果
        所选项目的索引; 如果未选择任何项目,或者如果选择了多个项目,则返回-1
        另请参见:
        select(int)deselect(int)isIndexSelected(int)
      • getSelectedIndexes

        public int[] getSelectedIndexes()
        获取列表中的选定索引。
        结果
        此滚动列表中所选索引的数组; 如果未选择任何项,则返回零长度数组。
        另请参见:
        select(int)deselect(int)isIndexSelected(int)
      • getSelectedItem

        public String getSelectedItem()
        获取此滚动列表中的选定项。
        结果
        列表中的选定项目; 如果未选择任何项目,或者选择了多个项目,则返回null
        另请参见:
        select(int)deselect(int)isIndexSelected(int)
      • getSelectedItems

        public String[] getSelectedItems()
        获取此滚动列表中的选定项。
        结果
        此滚动列表中所选项目的数组; 如果未选择任何项,则返回零长度数组。
        另请参见:
        select(int)deselect(int)isIndexSelected(int)
      • select

        public void select​(int index)
        选择滚动列表中指定索引处的项目。

        请注意,传出范围参数无效,并将导致未指定的行为。

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

        参数
        index - 要选择的项目的位置
        另请参见:
        getSelectedItem()deselect(int)isIndexSelected(int)
      • deselect

        public void deselect​(int index)
        取消选择指定索引处的项目。

        请注意,传出范围参数无效,并将导致未指定的行为。

        如果未选择指定索引处的项目,则忽略该操作。

        参数
        index - 要取消选择的项目的位置
        另请参见:
        select(int)getSelectedItem()isIndexSelected(int)
      • isIndexSelected

        public boolean isIndexSelected​(int index)
        确定是否选择了此滚动列表中的指定项。
        参数
        index - 要检查的项目
        结果
        true如果已选择指定的项目; 否则为false
        从以下版本开始:
        1.1
        另请参见:
        select(int)deselect(int)
      • isSelected

        @Deprecatedpublic boolean isSelected​(int index)
        Deprecated.
        As of JDK version 1.1, replaced by isIndexSelected(int).
        确定是否选择了列表中的指定项。
        参数
        index - 指定要检查的项目
        结果
        true如果选择了该项目; 否则false
      • getRows

        public int getRows()
        获取此列表中可见行的数量。 请注意,创建List ,此数字将永远不会更改。
        结果
        此滚动列表中的可见行数
      • isMultipleMode

        public boolean isMultipleMode()
        确定此列表是否允许多个选择。
        结果
        true如果此列表允许多个选择; 否则, false
        从以下版本开始:
        1.1
        另请参见:
        setMultipleMode(boolean)
      • allowsMultipleSelections

        @Deprecatedpublic boolean allowsMultipleSelections()
        Deprecated.
        As of JDK version 1.1, replaced by isMultipleMode().
        确定此列表是否允许多个选择。
        结果
        true如果此列表允许多个选择; 否则false
      • setMultipleMode

        public void setMultipleMode​(boolean b)
        设置标志以确定此列表是否允许多个选择。 当选择模式从多选改变为单选时,所选项改变如下:如果所选项具有位置光标,则仅保留选择该项。 如果没有选定项目具有位置光标,则将取消选择所有项目。
        参数
        b - 如果true则允许多个选择; 否则,一次只能选择列表中的一个项目
        从以下版本开始:
        1.1
        另请参见:
        isMultipleMode()
      • setMultipleSelections

        @Deprecatedpublic void setMultipleSelections​(boolean b)
        Deprecated.
        As of JDK version 1.1, replaced by setMultipleMode(boolean).
        启用或禁用此列表的多选模式。
        参数
        b - true启用多种模式,否则为 false
      • getVisibleIndex

        public int getVisibleIndex()
        获取方法 makeVisible最后可见的项的索引。
        结果
        上次可见的项目的索引
        另请参见:
        makeVisible(int)
      • makeVisible

        public void makeVisible​(int index)
        使指定索引处的项目可见。
        参数
        index - 项目的位置
        另请参见:
        getVisibleIndex()
      • getPreferredSize

        public Dimension getPreferredSize​(int rows)
        获取具有指定行数的列表的首选维度。
        参数
        rows - 列表中的行数
        结果
        给定指定行数必须可见的显示此滚动列表的首选尺寸
        从以下版本开始:
        1.1
        另请参见:
        Component.getPreferredSize()
      • preferredSize

        @Deprecatedpublic Dimension preferredSize​(int rows)
        Deprecated.
        As of JDK version 1.1, replaced by getPreferredSize(int).
        假设它具有指定的行数,则返回此组件的首选大小。
        参数
        rows - 行数
        结果
        显示此列表的首选尺寸
      • preferredSize

        @Deprecatedpublic Dimension preferredSize()
        Deprecated.
        As of JDK version 1.1, replaced by getPreferredSize().
        复制自类: Component描述
        返回组件的首选大小。
        重写:
        preferredSize ,类 Component
        结果
        组件的首选大小
      • getMinimumSize

        public Dimension getMinimumSize​(int rows)
        获取具有指定行数的列表的最小尺寸。
        参数
        rows - 列表中的行数
        结果
        给定指定行数必须可见的显示此滚动列表的最小尺寸
        从以下版本开始:
        1.1
        另请参见:
        Component.getMinimumSize()
      • minimumSize

        @Deprecatedpublic Dimension minimumSize​(int rows)
        Deprecated.
        As of JDK version 1.1, replaced by getMinimumSize(int).
        返回具有指定行数的列表的最小尺寸。
        参数
        rows - 列表中的行数
        结果
        显示此列表的最小尺寸
      • getListeners

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

        您可以使用类文字指定listenerType参数,例如FooListener.class 例如,您可以使用以下代码在List l查询其项侦听器:

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

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

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

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

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

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

        protected void processActionEvent​(ActionEvent e)
        处理在此组件上发生的操作事件,方法是将它们分派给任何已注册的ActionListener对象。

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

        • ActionListener对象通过addActionListener注册。
        • 通过enableEvents启用操作事件。

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

        参数
        e - 动作事件
        从以下版本开始:
        1.1
        另请参见:
        ActionEventActionListeneraddActionListener(java.awt.event.ActionListener)Component.enableEvents(long)
      • paramString

        protected String paramString()
        返回表示此滚动列表状态的参数字符串。 此字符串对调试很有用。
        重写:
        paramStringComponent
        结果
        此滚动列表的参数字符串
      • delItems

        @Deprecatedpublic void delItems​(int start,                     int end)
        Deprecated.
        As of JDK version 1.1, Not for public use in the future. This method is expected to be retained only as a package private method.
        删除指定索引范围内的列表项。
        参数
        start - 要删除的范围的起始索引
        end - 要删除的范围的结束索引
      • getAccessibleContext

        public AccessibleContext getAccessibleContext()
        获取与AccessibleContext相关的List 对于名单中, AccessibleContext需要一个形式AccessibleAWTList 如有必要,将创建一个新的AccessibleAWTList实例。
        Specified by:
        getAccessibleContext ,接口 Accessible
        重写:
        getAccessibleContext在类 Component
        结果
        AccessibleAWTList ,作为 AccessibleContextList
        从以下版本开始:
        1.3