JavaSwing图形界面开发(第8章).ppt





《JavaSwing图形界面开发(第8章).ppt》由会员分享,可在线阅读,更多相关《JavaSwing图形界面开发(第8章).ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章如何使用列表框和下拉列表框组件如何使用列表框和下拉列表框组件1列表框列表框-将将“所有选项所有选项”都列在框中,提供用户选择。都列在框中,提供用户选择。下拉列表框下拉列表框-用户未操作列表框时,只显示出一个数据。但当单击用户未操作列表框时,只显示出一个数据。但当单击 下拉箭头时,数据将以下拉箭头时,数据将以下拉方式下拉方式显示。显示。说明:说明:列表框、下拉列表框均属于列表框、下拉列表框均属于“选择性组件选择性组件”。虽然用途相同,。虽然用途相同,但各有其使用环境。但各有其使用环境。一般用法:一般用法:当数据较少时,使用列表框;当数据较少时,使用列表框;当数据较多时,尽量使用下拉列表
2、框。当数据较多时,尽量使用下拉列表框。28.1 8.1 如何使用列表框如何使用列表框JListJList 列表框组件以列表框组件以“目录形式目录形式”显示字符串,允许用户从中选取一项显示字符串,允许用户从中选取一项或多项,其中每一项数据称为或多项,其中每一项数据称为元素元素(也称为:(也称为:列表项列表项ItemItem)。)。JList JList类为用户提供了可选择的类为用户提供了可选择的一组选项一组选项,以一列或多列的形式,以一列或多列的形式显示。显示。JListJList可有多个选项,这些选项通常被存放在一个可以滚动的窗可有多个选项,这些选项通常被存放在一个可以滚动的窗格内。格内。创建
3、列表框的方式:创建列表框的方式:数组方式数组方式 VectorVector方式方式 ListModelListModel方式方式38.1.1 8.1.1 使用使用数组方式数组方式创建列表框创建列表框-将将“数组数组”中的每一项数据,作为列表框中的每一项。中的每一项数据,作为列表框中的每一项。数组数组namename列表框列表框l l4程序运行结果:程序运行结果:图图8.28.2:列表框中的选项:列表框中的选项图图8.18.1:列表框的使用:列表框的使用说明:说明:将一些数据存储到数组中,再通过列表框的构造器将一些数据存储到数组中,再通过列表框的构造器 “JList(String text)JL
4、ist(String text)”将这些数据列举出来。将这些数据列举出来。58.1.2 8.1.2 使用使用VectorVector方式方式创建列表框创建列表框-VectorVector数据结构数据结构 l1l1l2l2l3l3窗口事件窗口事件处理处理6程序运行结果:程序运行结果:说明:说明:与数组方式相似,只是与数组方式相似,只是“存储数据的方式存储数据的方式”不同。不同。主要创建了主要创建了三个列表框对象三个列表框对象,有,有两个两个列表框对象是通过列表框对象是通过数组数组方式创建,方式创建,而另而另一个一个则使用则使用VectorVector方式创建。方式创建。通过建立的通过建立的Vec
5、torVector数据结构对象,将数据数据结构对象,将数据存储到存储到这个对象中,然后将这这个对象中,然后将这 个对象个对象显示到显示到列表框中。列表框中。图图8.38.3:使用:使用VectorVector创建列表框创建列表框78.1.3 8.1.3 使用使用ListModelListModel方式方式创建列表框创建列表框 ListModel ListModel是一个是一个接口接口,其主要功能是,其主要功能是定义一些方法定义一些方法,让让JListJList组件取得每个项目的值,并可限定项目的显示时间组件取得每个项目的值,并可限定项目的显示时间与方式。与方式。表表8.1 ListModel8
6、.1 ListModel接口定义的方法接口定义的方法 8 只有实现只有实现ListModelListModel接口中的所有方法,才能利用构造器建立接口中的所有方法,才能利用构造器建立JListJList。不过,若要实现不过,若要实现ListModelListModel所有的方法比较麻烦,因为一般不会用所有的方法比较麻烦,因为一般不会用addListDataListeneraddListDataListener()()和和removeListDataListener()removeListDataListener()这两个方法。这两个方法。因此,因此,JavaJava提供了提供了“Abstrac
7、tListModelAbstractListModel”抽象类,此抽象类抽象类,此抽象类已经实已经实现现addListDataListener()addListDataListener()与与removeListDataListener()removeListDataListener()两个方法。两个方法。只要继承只要继承AbstractListModelAbstractListModel类,则无须实现上述两个方法,只需实类,则无须实现上述两个方法,只需实现现getElementAt()getElementAt()与与getSize()getSize()方法即可。方法即可。AbstractLi
8、stModelAbstractListModel抽象类抽象类:9AbstractListModelAbstractListModel程序示例:程序示例:通过创建一个通过创建一个“实现了抽象类实现了抽象类AbstractListModelAbstractListModel”的的“DataModelDataModel类类”来来创建一个列表框。创建一个列表框。10程序运行结果:程序运行结果:图图8.48.4:使用:使用ListModelListModel方法创建方法创建JListJList11 Java Java本身还提供了另一个类本身还提供了另一个类-“DefaultListModelDefaul
9、tListModel”实体类。实体类。此类继承了此类继承了AbstractListModelAbstractListModel抽象类,并实现了其中所有的抽象方抽象类,并实现了其中所有的抽象方法。因此,无需再让程序员自己实现任何方法,相当方便。法。因此,无需再让程序员自己实现任何方法,相当方便。DefaultListModel DefaultListModel类类提供了不少好用的方法提供了不少好用的方法,如:,如:增加增加一个项目一个项目-addElement()addElement()删除删除一个项目一个项目-removeElement()removeElement()查询查询项目项目-get
10、ElementAt()getElementAt()汇出汇出项目项目-copyInto()copyInto()另外,还可直接动态地另外,还可直接动态地更改更改JListJList的项目值,而不需要自行产生一个的项目值,而不需要自行产生一个VectorVector对象,相当于对象,相当于JList(Vector v)JList(Vector v)构造函数而言,更加方便实用。构造函数而言,更加方便实用。DefaultListModelDefaultListModel实体类实体类:12DefaultListModelDefaultListModel程序示例:程序示例:13程序运行结果:程序运行结果:图
11、图8.58.5:使用:使用DefaultListModelDefaultListModel方法创建方法创建JListJList148.1.4 8.1.4 列表框选取事件的处理列表框选取事件的处理 JList JList类中类中“addListSelectionListener()addListSelectionListener()”方法,可方法,可检测用户是否对检测用户是否对JListJList的选取有任何改变。的选取有任何改变。ListSelectionListener ListSelectionListener接口中接口中只定义一个方法只定义一个方法,即:,即:valueChanged(L
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaSwing 图形界面 开发

限制150内