Module java.desktop
Package javax.swing

Class DefaultListModel<E>

java.lang.Object
javax.swing.AbstractListModel<E>
javax.swing.DefaultListModel<E>
类型参数:
E - 此模型元素的类型
所有实现的接口:
Serializable, ListModel<E>

public class DefaultListModel<E> extends AbstractListModel<E>
此类松散实现了java.util.Vector API,它实现了1.1.x版本的java.util.Vector,没有集合类支持,并在更改发生时通知ListDataListener。目前它委托给一个Vector,在将来的版本中将成为一个真正的集合实现。

警告: 此类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans包中。请参见XMLEncoder

自 JDK 版本:
1.2
  • Constructor Details

    • DefaultListModel

      public DefaultListModel()
      构造一个DefaultListModel
  • Method Details

    • getSize

      public int getSize()
      返回此列表中的组件数。

      此方法与size相同,它实现了1.2集合框架中定义的List接口。此方法与setSize一起存在,以便将size标识为JavaBean属性。

      返回:
      此列表中的组件数
      另请参见:
    • getElementAt

      public E getElementAt(int index)
      返回指定索引处的组件。
      注意: 尽管此方法未被弃用,但首选使用的方法是get(int),它实现了1.2集合框架中定义的List接口。
      参数:
      index - 列表中的索引
      返回:
      指定索引处的组件
      抛出:
      ArrayIndexOutOfBoundsException - 如果index为负数或大于此列表的当前大小
      另请参见:
    • copyInto

      public void copyInto(Object[] anArray)
      将此列表的组件复制到指定的数组中。数组必须足够大以容纳此列表中的所有对象,否则将抛出IndexOutOfBoundsException
      参数:
      anArray - 要复制组件的数组
      另请参见:
    • trimToSize

      public void trimToSize()
      将此列表的容量修剪为列表的当前大小。
      另请参见:
    • ensureCapacity

      public void ensureCapacity(int minCapacity)
      如有必要,增加此列表的容量,以确保其至少可以容纳由最小容量参数指定的组件数。
      参数:
      minCapacity - 所需的最小容量
      另请参见:
    • setSize

      public void setSize(int newSize)
      设置此列表的大小。
      参数:
      newSize - 此列表的新大小
      另请参见:
    • capacity

      public int capacity()
      返回此列表的当前容量。
      返回:
      当前容量
      另请参见:
    • size

      public int size()
      返回此列表中的组件数。
      返回:
      此列表中的组件数
      另请参见:
    • isEmpty

      public boolean isEmpty()
      测试此列表是否有任何组件。
      返回:
      如果此列表没有任何组件(即其大小为零),则返回true;否则返回false
      另请参见:
    • elements

      public Enumeration<E> elements()
      返回此列表的组件的枚举。
      返回:
      此列表的组件的枚举
      另请参见:
    • contains

      public boolean contains(Object elem)
      测试指定的对象是否为此列表中的组件。
      参数:
      elem - 一个对象
      返回:
      如果指定的对象与此列表中的组件相同,则返回true
      另请参见:
    • indexOf

      public int indexOf(Object elem)
      搜索elem的第一次出现。
      参数:
      elem - 一个对象
      返回:
      此列表中参数的第一次出现的索引;如果未找到对象,则返回-1
      另请参见:
    • indexOf

      public int indexOf(Object elem, int index)
      index开始搜索elem的第一次出现。
      参数:
      elem - 所需的组件
      index - 开始搜索的索引
      返回:
      index之后找到elem的第一次出现的索引;如果在列表中未找到elem,则返回-1
      另请参见:
    • lastIndexOf

      public int lastIndexOf(Object elem)
      返回elem的最后一次出现的索引。
      参数:
      elem - 所需的组件
      返回:
      列表中elem的最后一次出现的索引;如果未找到对象,则返回elem
      另请参见:
    • lastIndexOf

      public int lastIndexOf(Object elem, int index)
      从指定索引开始向后搜索elem,并返回其索引。
      参数:
      elem - 所需组件
      index - 开始搜索的索引
      返回:
      返回此列表中最后一次出现的elem的索引,位置小于index;如果未找到对象,则返回-1
      参见:
    • elementAt

      public E elementAt(int index)
      返回指定索引处的组件。
      注意: 尽管此方法未被弃用,但推荐使用的方法是get(int),该方法实现了1.2集合框架中定义的List接口。
      参数:
      index - 列表中的索引
      返回:
      指定索引处的组件
      抛出:
      ArrayIndexOutOfBoundsException - 如果索引为负数或不小于列表大小
      参见:
    • firstElement

      public E firstElement()
      返回此列表的第一个组件。
      返回:
      此列表的第一个组件
      抛出:
      NoSuchElementException - 如果此向量没有组件
      参见:
    • lastElement

      public E lastElement()
      返回列表的最后一个组件。
      返回:
      列表的最后一个组件
      抛出:
      NoSuchElementException - 如果此向量没有组件
      参见:
    • setElementAt

      public void setElementAt(E element, int index)
      将此列表中指定index处的组件设置为指定的元素。该位置上的先前组件将被丢弃。
      注意: 尽管此方法未被弃用,但推荐使用的方法是set(int,Object),该方法实现了1.2集合框架中定义的List接口。
      参数:
      element - 要设置的组件
      index - 指定的索引
      抛出:
      ArrayIndexOutOfBoundsException - 如果索引无效
      参见:
    • removeElementAt

      public void removeElementAt(int index)
      删除指定索引处的组件。
      注意: 尽管此方法未被弃用,但推荐使用的方法是remove(int),该方法实现了1.2集合框架中定义的List接口。
      参数:
      index - 要移除的对象的索引
      抛出:
      ArrayIndexOutOfBoundsException - 如果索引无效
      参见:
    • insertElementAt

      public void insertElementAt(E element, int index)
      在此列表中的指定index处插入指定的元素作为组件。
      注意: 尽管此方法未被弃用,但推荐使用的方法是add(int,Object),该方法实现了1.2集合框架中定义的List接口。
      参数:
      element - 要插入的组件
      index - 要插入新组件的位置
      抛出:
      ArrayIndexOutOfBoundsException - 如果索引无效
      参见:
    • addElement

      public void addElement(E element)
      将指定的组件添加到此列表的末尾。
      参数:
      element - 要添加的组件
      参见:
    • removeElement

      public boolean removeElement(Object obj)
      从此列表中删除参数的第一个(索引最低)出现。
      参数:
      obj - 要移除的组件
      返回:
      如果参数是此列表的组件,则返回true;否则返回false
      参见:
    • removeAllElements

      public void removeAllElements()
      删除此列表中的所有组件,并将其大小设置为零。
      注意: 尽管此方法未被弃用,但推荐使用的方法是clear,该方法实现了1.2集合框架中定义的List接口。
      参见:
    • toString

      public String toString()
      返回显示并标识此对象属性的字符串。
      覆盖:
      toString 在类 Object
      返回:
      此对象的字符串表示
    • toArray

      public Object[] toArray()
      返回一个数组,其中包含此列表中所有元素的正确顺序。
      返回:
      包含列表元素的数组
      参见:
    • get

      public E get(int index)
      返回此列表中指定位置的元素。
      参数:
      index - 要返回的元素的索引
      返回:
      此列表中指定位置的元素
      抛出:
      ArrayIndexOutOfBoundsException - 如果索引超出范围(index &lt; 0 || index &gt;= size()
    • set

      public E set(int index, E element)
      用指定元素替换此列表中指定位置的元素。
      参数:
      index - 要替换的元素的索引
      element - 要存储在指定位置的元素
      返回:
      先前在指定位置的元素
      抛出:
      ArrayIndexOutOfBoundsException - 如果索引超出范围(index &lt; 0 || index &gt;= size()
    • add

      public void add(int index, E element)
      在此列表中的指定位置插入指定元素。
      参数:
      index - 要插入指定元素的索引
      element - 要插入的元素
      抛出:
      ArrayIndexOutOfBoundsException - 如果索引超出范围(index &lt; 0 || index &gt; size()
    • remove

      public E remove(int index)
      删除此列表中指定位置的元素。返回从列表中删除的元素
      参数:
      index - 要移除的元素的索引
      返回:
      先前在指定位置的元素
      抛出:
      ArrayIndexOutOfBoundsException - 如果索引超出范围(index &lt; 0 || index &gt;= size())
    • clear

      public void clear()
      从此列表中删除所有元素。此调用返回后,列表将为空(除非抛出异常)。
    • removeRange

      public void removeRange(int fromIndex, int toIndex)
      删除指定索引范围内的组件。删除是包容性的,因此指定范围为(1,5)会删除索引1处的组件和索引5处的组件,以及两者之间的所有组件。
      参数:
      fromIndex - 范围的下限索引
      toIndex - 范围的上限索引
      抛出:
      ArrayIndexOutOfBoundsException - 如果索引无效
      IllegalArgumentException - 如果fromIndex &gt; toIndex
      参见:
    • addAll

      public void addAll(Collection<? extends E> c)
      将集合中的所有元素添加到列表中。
      参数:
      c - 包含要添加的元素的集合
      抛出:
      NullPointerException - 如果c为null
    • addAll

      public void addAll(int index, Collection<? extends E> c)
      从指定索引开始,将集合中的所有元素添加到列表中。
      参数:
      index - 要从指定集合中插入第一个元素的索引
      c - 包含要添加的元素的集合
      抛出:
      ArrayIndexOutOfBoundsException - 如果index不在当前持有的元素数量范围内
      NullPointerException - 如果c为null