JavaTM Platform
Standard Ed. 6

javax.swing
类 DefaultListModel

java.lang.Object
  继承者 javax.swing.AbstractListModel
      继承者 javax.swing.DefaultListModel
所有已实现的接口:
Serializable, ListModel

public class DefaultListModel
     
extends AbstractListModel

此类以松散方式实现 java.util.Vector API,它实现 1.1.x 版本的 java.util.Vector,没有 collection 类支持,并且在发生更改时通知 ListDataListener。目前,它委托给一个 Vector,在将来的版本中,它将是一个真正的 Collection 实现。

警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder


字段摘要
 
从类 javax.swing.AbstractListModel 继承的字段
listenerList
 
构造方法摘要
DefaultListModel()
           
 
方法摘要
 void add(int index, Object element)
          在此列表的指定位置处插入指定元素。
 void addElement(Object obj)
          将指定组件添加到此类表的末尾。
 int capacity()
          返回此列表的当前容量。
 void clear()
          从此列表中移除所有元素。
 boolean contains(Object elem)
          测试指定对象是否为此类表中的组件。
 void copyInto(Object[] anArray)
          将此列表的组件复制到指定数组中。
 Object elementAt(int index)
          返回指定索引处的组件。
 Enumeration<?> elements()
          返回此列表的组件枚举。
 void ensureCapacity(int minCapacity)
          增加此列表的容量(如有必要),以确保其至少能够保存最小容量参数指定的组件数。
 Object firstElement()
          返回此列表中的第一个组件。
 Object get(int index)
          返回列表中指定位置处的元素。
 Object getElementAt(int index)
          返回指定索引处的组件。
 int getSize()
          返回此列表中的组件数。
 int indexOf(Object elem)
          搜索 elem 的第一次出现。
 int indexOf(Object elem, int index)
          从 index 开始搜索 elem 的第一次出现。
 void insertElementAt(Object obj, int index)
          将指定对象作为此列表中的组件插入到指定的 index 处。
 boolean isEmpty()
          测试此列表中是否有组件。
 Object lastElement()
          返回列表的最后一个组件。
 int lastIndexOf(Object elem)
          返回 elem 最后一次出现处的索引。
 int lastIndexOf(Object elem, int index)
          从指定的索引处开始反向搜索 elem,并返回该对象的索引。
 Object remove(int index)
          移除此列表中指定位置处的元素。
 void removeAllElements()
          从此列表中移除所有组件,并将它们的大小设置为零。
 boolean removeElement(Object obj)
          从此列表中移除参数的第一个(索引最小的)匹配项。
 void removeElementAt(int index)
          删除指定索引处的组件。
 void removeRange(int fromIndex, int toIndex)
          删除指定索引范围中的组件。
 Object set(int index, Object element)
          使用指定元素替换此列表中指定位置上的元素。
 void setElementAt(Object obj, int index)
          将此列表指定 index 处的组件设置为指定的对象。
 void setSize(int newSize)
          设置此列表的大小。
 int size()
          返回此列表中的组件数。
 Object[] toArray()
          以正确顺序返回包含此列表中所有元素的数组。
 String toString()
          返回显示并标识此对象的属性的字符串。
 void trimToSize()
          对此列表的容量进行裁剪,使其等于此列表的当前大小。
 
从类 javax.swing.AbstractListModel 继承的方法
addListDataListener, fireContentsChanged, fireIntervalAdded, fireIntervalRemoved, getListDataListeners, getListeners, removeListDataListener
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

DefaultListModel

public DefaultListModel()
方法详细信息

getSize

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

此方法等同于 size,后者实现 1.2 Collections 框架中定义的 List 接口。此方法连同 setSize 一起存在,因此可以将 size 看作为一个 JavaBean 属性。

返回:
此列表中的组件数
另请参见:
size()

getElementAt

public Object getElementAt(int index)
返回指定索引处的组件。
注:尽管此方法未过时,但首选使用方法是 get(int),该方法实现 1.2 Collections 框架中定义的 List 接口。

参数:
index - 此列表中的索引
返回:
指定索引处的组件
抛出:
ArrayIndexOutOfBoundsException - 如果 index 为负或大于此列表的当前大小
另请参见:
get(int)

copyInto

public void copyInto(Object[] anArray)
将此列表的组件复制到指定数组中。数组必须足够大,能够保存此列表中的所有对象,否则抛出 IndexOutOfBoundsException

参数:
anArray - 要将组件复制到其中的数组
另请参见:
Vector.copyInto(Object[])

trimToSize

public void trimToSize()
对此列表的容量进行裁剪,使其等于此列表的当前大小。

另请参见:
Vector.trimToSize()

ensureCapacity

public void ensureCapacity(int minCapacity)
增加此列表的容量(如有必要),以确保其至少能够保存最小容量参数指定的组件数。

参数:
minCapacity - 所需的最小容量
另请参见:
Vector.ensureCapacity(int)

setSize

public void setSize(int newSize)
设置此列表的大小。

参数:
newSize - 此列表的新大小
另请参见:
Vector.setSize(int)

capacity

public int capacity()
返回此列表的当前容量。

返回:
当前容量
另请参见:
Vector.capacity()

size

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

返回:
此列表中的组件数
另请参见:
Vector.size()

isEmpty

public boolean isEmpty()
测试此列表中是否有组件。

返回:
当且仅当此列表中没有组件(也就是说其大小为零)时返回 true;否则返回 false
另请参见:
Vector.isEmpty()

elements

public Enumeration<?> elements()
返回此列表的组件枚举。

返回:
此列表的组件枚举
另请参见:
Vector.elements()

contains

public boolean contains(Object elem)
测试指定对象是否为此类表中的组件。

参数:
elem - 对象
返回:
如果指定对象是此列表中的组件,则返回 true
另请参见:
Vector.contains(Object)

indexOf

public int indexOf(Object elem)
搜索 elem 的第一次出现。

参数:
elem - 一个对象
返回:
此列表中该参数第一次出现时所在位置上的索引;如果没有找到该对象,则返回 -1
另请参见:
Vector.indexOf(Object)

indexOf

public int indexOf(Object elem,
                   int index)
index 开始搜索 elem 的第一次出现。

参数:
elem - 所需的组件
index - 从其所在的位置开始进行搜索的索引
返回:
index 之后第一次出现 elem 处的索引;如果在列表中没有找到 elem,则返回 -1
另请参见:
Vector.indexOf(Object,int)

lastIndexOf

public int lastIndexOf(Object elem)
返回 elem 最后一次出现处的索引。

参数:
elem - 所需的组件
返回:
列表中 elem 最后一次出现处的索引;如果没有找到该对象,则返回 -1
另请参见:
Vector.lastIndexOf(Object)

lastIndexOf

public int lastIndexOf(Object elem,
                       int index)
从指定的索引处开始反向搜索 elem,并返回该对象的索引。

参数:
elem - 所需的组件
index - 从其所在的位置开始进行搜索的索引
返回:
列表中 index 之前最后一次出现 elem 处的索引;如果在列表中没有找到该对象,则返回 -1
另请参见:
Vector.lastIndexOf(Object,int)

elementAt

public Object elementAt(int index)
返回指定索引处的组件。如果索引为负或不小于列表的大小,则抛出 ArrayIndexOutOfBoundsException
注:尽管此方法未过时,但首选使用方法是 get(int),该方法实现 1.2 Collections 框架中定义的 List 接口。

参数:
index - 此列表中的一个索引
返回:
指定索引处的组件
另请参见:
get(int), Vector.elementAt(int)

firstElement

public Object firstElement()
返回此列表中的第一个组件。如果此向量没有组件,则抛出 NoSuchElementException

返回:
此列表的第一个组件
另请参见:
Vector.firstElement()

lastElement

public Object lastElement()
返回列表的最后一个组件。如果此向量没有组件,则抛出 NoSuchElementException

返回:
列表的最后一个组件
另请参见:
Vector.lastElement()

setElementAt

public void setElementAt(Object obj,
                         int index)
将此列表指定 index 处的组件设置为指定的对象。丢弃该位置以前的组件。

如果索引无效,则抛出 ArrayIndexOutOfBoundsException

注:尽管此方法未过时,但首选使用方法是 set(int,Object),该方法实现 1.2 Collections 框架中定义的 List 接口。

参数:
obj - 组件的设置目标
index - 指定的索引
另请参见:
set(int,Object), Vector.setElementAt(Object,int)

removeElementAt

public void removeElementAt(int index)
删除指定索引处的组件。

如果索引无效,则抛出 ArrayIndexOutOfBoundsException

注:尽管此方法未过时,但首选使用方法是 remove(int),该方法实现 1.2 Collections 框架中定义的 List 接口。

参数:
index - 要移除对象的索引
另请参见:
remove(int), Vector.removeElementAt(int)

insertElementAt

public void insertElementAt(Object obj,
                            int index)
将指定对象作为此列表中的组件插入到指定的 index 处。

如果索引无效,则抛出 ArrayIndexOutOfBoundsException

注:尽管此方法未过时,但首选使用方法是 add(int,Object),该方法实现 1.2 Collections 框架中定义的 List 接口。

参数:
obj - 要插入的组件
index - 插入新组件的位置
抛出:
ArrayIndexOutOfBoundsException - 如果索引无效
另请参见:
add(int,Object), Vector.insertElementAt(Object,int)

addElement

public void addElement(Object obj)
将指定组件添加到此类表的末尾。

参数:
obj - 要添加的组件
另请参见:
Vector.addElement(Object)

removeElement

public boolean removeElement(Object obj)
从此列表中移除参数的第一个(索引最小的)匹配项。

参数:
obj - 要移除的组件
返回:
如果该参数是此列表的一个组件,则返回 true;否则返回 false
另请参见:
Vector.removeElement(Object)

removeAllElements

public void removeAllElements()
从此列表中移除所有组件,并将它们的大小设置为零。
注:尽管此方法未过时,但首选使用方法是 clear,该方法实现 1.2 Collections 框架中定义的 List 接口。

另请参见:
clear(), Vector.removeAllElements()

toString

public String toString()
返回显示并标识此对象的属性的字符串。

覆盖:
Object 中的 toString
返回:
此对象的 String 表示形式

toArray

public Object[] toArray()
以正确顺序返回包含此列表中所有元素的数组。

返回:
包含列表元素的数组
另请参见:
Vector.toArray()

get

public Object get(int index)
返回列表中指定位置处的元素。

如果索引超出范围(index < 0 || index >= size()),则抛出 ArrayIndexOutOfBoundsException

参数:
index - 要返回的元素的索引

set

public Object set(int index,
                  Object element)
使用指定元素替换此列表中指定位置上的元素。

如果索引超出范围(index < 0 || index >= size()),则抛出 ArrayIndexOutOfBoundsException

参数:
index - 要替换的元素的索引
element - 要存储在指定位置上的元素
返回:
以前在指定位置上的元素

add

public void add(int index,
                Object element)
在此列表的指定位置处插入指定元素。

如果索引超出范围(index < 0 || index > size()),则抛出 ArrayIndexOutOfBoundsException

参数:
index - 指定元素的插入位置的索引
element - 要插入的元素

remove

public Object remove(int index)
移除此列表中指定位置处的元素。返回从列表中移除的元素。

如果索引超出范围(index < 0 || index >= size()),则抛出 ArrayIndexOutOfBoundsException

参数:
index - 要移除的元素的索引

clear

public void clear()
从此列表中移除所有元素。此调用返回后,列表将是空的(除非该调用抛出异常)。


removeRange

public void removeRange(int fromIndex,
                        int toIndex)
删除指定索引范围中的组件。移除组件包括指定范围两个端点处的组件,因此,如果指定范围 (1,5),则移除索引 1 处的组件和索引 5 处的组件,以及它们之间的所有组件。

如果索引无效,则抛出 ArrayIndexOutOfBoundsException。如果 fromIndex > toIndex,则抛出 IllegalArgumentException

参数:
fromIndex - 范围低端点的索引
toIndex - 范围高端点的索引
另请参见:
remove(int)

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策