第`4章 Swing设计思想.ppt_第1页
第`4章 Swing设计思想.ppt_第2页
第`4章 Swing设计思想.ppt_第3页
第`4章 Swing设计思想.ppt_第4页
第`4章 Swing设计思想.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章:摇摆设计思想、课程目标、视图和模型机制。MVC最初是一种设计模式,它将软件分解成三个不同的部分:模型、视图和控制器。模型:表示组件状态和低级行为的部分,它管理自己的状态并处理状态上的所有操作。模型本身不知道如何使用自己的视图和控制器,系统维护它和视图之间的关系。当模型改变时,系统将通知相应的视图使其做出响应。视图:它表示管理模型中包含的数据的可视化表示。一个模型可以有多个视图,但是在Swing中很少出现这种情况。控制器:管理模型和用户之间的交互。当模型的状态改变时,控制器将提供一些方法来响应这些改变。虽然MVC设计模式通常用于设计整个用户界面,但是许多设计人员使用这种设计模式来设计Sw

2、ing中的单个组件,如表JTable、树JTree、组合下拉列表框JComboBox等。这些组件有一个模型、一个视图和一个控制器,这些模型、视图和控制器可以独立更改,即使组件正在使用中。这个特性使得开发图形用户界面变得非常灵活。JList控件及其应用。JList控件用于显示对象列表的组件,并允许用户选择列表中的一个或多个项目。JList有点类似于JCheckbox,可以选择一个或多个选项。区别在于JList的选择方法是整行选择。让我们首先看看JList提供的构造函数。JList提供了以下四个构造函数:JList()创建新的JList控件JList(列表模型数据模型)创建新的JList控件JLi

3、st(对象列表数据)使用Array(数组)对象创建新的JList控件JList(向量列表数据)使用Vector对象创建新的JList控件,这是JList常用的方法。获取所选项目的索引值。对象获取选定项的内容。boolean is selectedindex(int index)确定是否选择了索引位置的项,并返回一个值。设置创建列表框的数组对象。设置创建列表框的向量集对象。空集模型(列表模型数据模型)设置用于创建列表框的列表框模板。void set selection model(ListSelection model)设置列表框的选择模式。listselectionmodel提供了三个静态参数

4、:multiple _ interval _ selection、single _ interval _ selection、SINGLE_SELECTION允许对每个项目进行多项选择、连续多项选择和仅单项选择。JTree控件及其应用程序显示一组层次关系清晰的数据,可以为用户提供一个直观易用的界面。JTree类实现了一个类似于视窗浏览器左半部分的树状层次结构,可以通过点击树状结构的节点来扩展或合并树状结构的图表数据。JTree也是根据MVC设计思想设计的。JTree的主要功能是通过树形结构按照层次关系显示数据,其数据来自其他对象,如哈希表、向量等。JTree的构造函数,JTree()创建JTr

5、ee组件。JTree(哈希表值)通过哈希表对象创建JTree组件,而不显示根节点。JTree(对象值)使用数组来构建JTree组件,并且只有这个构造函数可以创建多个根节点。显示根节点并使用指定的数据模型创建一棵树。JTree(树节点根)使用树节点对象创建一个带有根结点的JTree组件。JTree (TreeNode root,boolean asksallowchildren)通过TreeNode对象创建JTree组件,并设置是否允许添加子树。矢量值通过使用矢量对象创建一个矢量组件。JTree控件创建,通过Hashtabel、Vector或字符串数组对象作为参数,创建JTree对象。声明如下:

6、字符串s1=公司文件、个人信件、私人文件;哈希表哈希表1=新哈希表();哈希表1 .放(我的公文包,S1);JTree树=新JTree(哈希表1);使用其他对象创建JTree对象类似于上述过程,因此这里不列出。使用TreeModel构造JTree。当通过树模型创建JTree对象时,使用了一个重要的类: DefaultMutableTreeNode。此类生成的对象是树中的常规节点。重要的是要知道,一个树节点最多可以有一个父节点和0个或更多的子节点。使用DefaultMutableTreeNode类,节点可以很容易地找到或修改它的父节点和子节点,同时找到一个节点属于哪个树。DefaultMutab

7、leTreeNode类的常见方法:add(MultiTerreenode newChild)将NewChild添加到节点子数组的末尾,使其成为该节点的子节点。Remove(int childIndex)从该节点的子节点中移除指定索引处的子节点,并将该节点的父节点设置为null。RemoveAllChildren()通过将其父节点设置为null来移除此节点的所有子节点。JTable控件和应用程序,JTable是Swing包的一个新组件,其主要功能是以二维表格的形式显示数据。根据MVC设计思想,最好将表作为MyTableModel类型的对象来加载数据。这个类是从抽象表模型类继承的,有几个方法必须重

8、写,比如getColumnCount(),getRowCount(),getColumnName()和getValueAt()。因为JTable可以从这个对象中自动获得表显示所需的数据,所以抽象表模型类封装了表(行、列)设置、内容填充、赋值、表单元更新检测等。以及与表内容及其操作相关的所有属性。由JTable类生成的对象以TableModel对象为参数,负责以表格的形式显示TableModel对象中的数据。JtTable()构造默认的JtTable,它用默认的数据模型、列模型和选择模型初始化。JTable (int numRows,int numColumns)使用DefaultTableMo

9、del构造带有空单元格的JTable,包括numRows和numColumns。JTable(对象行数据,对象列名)构造JTable,用于在二维数组行数据中显示数据,其列名为列名。JTable(TableModel dm)构造JTable,并用dm作为数据模型、默认列模型和默认选择模型初始化它。建立一个JTable,设置数据模式和字段模式,并有一个默认的选择模式。建立一个JTable来设置数据模式、字段模式和选择模式。JTable(向量行数据,向量列名)构造JTable,用于显示向量(行数据)中的值,其列名为列名。有很多方法可以创建JTable控件和JTable对象。正如JTable有多个构造函数一样,我们将通过JTable(对象行数据,对象列名)构造函数创建一个简单的JTable对象。参考代码如下:对象数据=本、新整数(66)、新整数(32)、新整数(98)、新整数(假)、新整数(假)、三毛、新整数(85)、新整数(69)、新整数(154)、新布尔(真)、新布尔(假);字符串列=姓名、语言、数学、总分、及格、作弊;JtTable表=新JtTable(数据,列);这个JTable对象代表一个显示学生成绩的表格。将其添加到JFrame将显示如下图所示的效果:使用DefaultTableModel创建J

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论