Module java.desktop
Package javax.swing

Class AbstractListModel<E>

java.lang.Object
javax.swing.AbstractListModel<E>
类型参数:
E - 此模型元素的类型
所有已实现的接口:
Serializable, ListModel<E>
直接已知的子类:
BasicDirectoryModel, DefaultComboBoxModel, DefaultListModel, MetalFileChooserUI.DirectoryComboBoxModel, MetalFileChooserUI.FilterComboBoxModel

public abstract class AbstractListModel<E> extends Object implements ListModel<E>, Serializable
提供List内容的数据模型的抽象定义。

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

自1.2版本起:
1.2
  • Field Details

  • Constructor Details

    • AbstractListModel

      protected AbstractListModel()
      子类调用的构造函数。
  • Method Details

    • addListDataListener

      public void addListDataListener(ListDataListener l)
      向列表添加一个在数据模型发生更改时通知的监听器。
      指定者:
      addListDataListener 在接口 ListModel<E>
      参数:
      l - 要添加的ListDataListener
    • removeListDataListener

      public void removeListDataListener(ListDataListener l)
      从列表中删除每次数据模型更改时通知的监听器。
      指定者:
      removeListDataListener 在接口 ListModel<E>
      参数:
      l - 要移除的ListDataListener
    • getListDataListeners

      public ListDataListener[] getListDataListeners()
      返回在此AbstractListModel上注册的所有列表数据监听器的数组。
      返回:
      所有此模型的ListDataListener,如果当前没有注册任何列表数据监听器,则返回空数组
      自1.4版本起:
      1.4
      参见:
    • fireContentsChanged

      protected void fireContentsChanged(Object source, int index0, int index1)
      AbstractListModel子类必须在列表中的一个或多个元素更改调用此方法。更改的元素由闭合区间index0、index1指定 -- 包括端点。请注意,index0不一定小于或等于index1。
      参数:
      source - 发生更改的ListModel,通常为"this"
      index0 - 新区间的一端
      index1 - 新区间的另一端
      参见:
    • fireIntervalAdded

      protected void fireIntervalAdded(Object source, int index0, int index1)
      AbstractListModel子类必须在模型中添加一个或多个元素调用此方法。新元素由闭合区间index0、index1指定 -- 包括端点。请注意,index0不一定小于或等于index1。
      参数:
      source - 发生更改的ListModel,通常为"this"
      index0 - 新区间的一端
      index1 - 新区间的另一端
      参见:
    • fireIntervalRemoved

      protected void fireIntervalRemoved(Object source, int index0, int index1)
      AbstractListModel子类必须在模型中删除一个或多个元素调用此方法。index0index1是已删除区间的端点。请注意,index0不一定小于或等于index1
      参数:
      source - 发生更改的ListModel,通常为"this"
      index0 - 已删除区间的一端,包括index0
      index1 - 已删除区间的另一端,包括index1
      参见:
    • getListeners

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

      您可以使用类字面量(例如FooListener.class)指定listenerType参数。例如,您可以使用以下代码查询列表模型m的列表数据监听器:

      ListDataListener[] ldls = (ListDataListener[])(m.getListeners(ListDataListener.class));
      如果不存在此类监听器,则此方法返回一个空数组。
      类型参数:
      T - 请求的EventListener类的类型
      参数:
      listenerType - 请求的监听器类型;此参数应指定从java.util.EventListener继承的接口
      返回:
      在此模型上注册为FooListener的所有对象的数组,如果尚未添加此类监听器,则返回空数组
      抛出:
      ClassCastException - 如果listenerType未指定实现java.util.EventListener的类或接口
      自1.3版本起:
      1.3
      参见: