javaGUI学习53:Swing-列表

由Jist类代表的Swing列表显示一个可选取对象列表,它支持三种选取模式:单选取、单间隔选取和多间隔选取。
JList类把维护和绘制列表的工作委托给一个对象来完成。一个列表的模型维护一个对象列表,列表单元绘制器将这些对象绘制在列表单元中。

1、列表模型

JList类不维护对它所显示的那些对象的引用。JList 的所有实例都把它们的数据管理工作委托给一个实现ListModel 接口的对象。
当用下面的JList构造方法来构造Jist 的一个实例时,可以指定列表中所显示的对象:

public JList ( ListModel)
public JList ( Object [ ])
public JList ( Vector)

还可以在使用下面的JList方法构造列表后,再指定列表中要显示的对象:

public void setModel ( ListModel)
public void setLaistData ( Object [])
public void setListData ( Vector)

除上面所列的这些构造方法和方法外,JList类本身没有对它的数据提供操纵方法。例如,没有插入或删除对象的JList方法。所以,必须通过直接操纵列表模型来插入或删除列表数据(除替换列表中的所有数据外)。

1.1 AbstartListModel

AbstractListModel不关心存储数据的问题,因此没有实现由ListModel 接口定义的getSize和getElementAt方法。由于AbstractListModel没有实现由ListModel接口定义的所有方法,所以它是一个抽象类。
AbstractListModel类扩展Object并实现ListModel接口和Serializable接口。DefautListModel类是AbstractListModel的一个扩展。

1.2 DefaultListModel

DefaultListModel类是AbstractListModel的–个具体(非抽象)扩展,DefaultListModel实现ja-va.util. Vector API,并把数据存储和获取的工作委托给Vector的一个实例。

2、列表选取

除把数据管理工作交给列表模型外,JList类还把跟踪所选项的工作交给列表选取模型。JList类把选取管理的工作交给实现 ListSelectionModel接口的对象。列表选取模型支持三种选取模式,有:单选取、单间隔选取和多间隔选取。

单选取模式在给定的任意时刻都只允许选取列表中的一项。单间隔选取模式允许选取多个项,但是所选取的项必须是相邻的。多间隔选取模式允许选取多个单间隔选取。JList 实例的缺省选取模式是多间隔选取。

3、列表单元绘制器

除委托数据管理和选取工作外,JList类还把其单元的绘制工作交给另一个对象去做。JList的每个实例都维护对这样的一个对象的引用,这个对象实现 ListCellRenderer接口。

3.1 JList属性,事件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值