Java桌面程序开发第6章 使用Swing高级组件.pptVIP

  • 3
  • 0
  • 约3.42千字
  • 约 33页
  • 2019-07-17 发布于辽宁
  • 举报

Java桌面程序开发第6章 使用Swing高级组件.ppt

大连理工大学出版社 * Java桌面程序开发 目 录 第6章 使用Swing高级组件 教学要求 1.掌握:构造JTable表格的常用方法,使用表格来表现统计数据,构造JTree树结构的常用方法 2.了解:使用TableCloumn,JTable的事件处理,JTree的事件处理 6.1 使用表格JTable 6.1.1 看看效果 使用表格表现数据 观上图可以发现,表格由2部分构成,一是每一列的列标题,如“姓名”,“班级”,“成绩”等,二是多行数据构成的二维数据结构,如小明、小红、张三各自的信息。 Swing中使用JTable来构造表格,构造方法多样,其中就包含如上所述的使用表格列标题和二维数据来构造表格的构造方法: JTable(Object[][] rowData, Object[] columnNames) 此方法可以构造一个 JTable 来显示二维数组 rowData 中的值,其列名称为 columnNames。 6.1.2 JTable简介及基本用法 JTable的常用构造方法: JTable(int numRows, int numColumns) :使用 DefaultTableModel 构造具有 numRows 行和 numColumns 列个空单元格的 JTable。 JTable(Object[][] rowData, Object[] columnNames) :构造一个 JTable 来显示二维数组 rowData 中的值,其列名称为 columnNames。 JTable(TableModel dm) :构造一个 JTable,使用数据模型 dm、默认的列模型和默认的选择模型对其进行初始化。 实例 例6-2 JTable的使用 6.2 使用表格模型TableModel 使用表格模型可以实现将表格数据存储至表格模型,然后再以表格模型来构造JTable表格对象,这样表格模型可以专注于存储数据,而构造JTable表格对象时也不必过多考虑表格数据的细节问题了,灵活性和适应性都会更强。 在javax.swing.table包中定义了一个名为TableModel的接口,此接口定义了若干关于表格数据的存取方法:包括存取表格单元格的内容,计算表格的列数,获取表格列的名称,返回表格列的数据类型等等。我们可以先构造TableModel的对象存储表格数据,然后以此对象为参数再来构造JTable表格对象。 6.2.1 AbstractTableModel类 由于TableModel本身是一个接口,如果以实现该接口来创建自己的表格模型不是一件轻松的事情,因为要实现接口的所有方法。 所幸,Swing包另外提供了2个已经实现了TableModel接口的类:抽象类AbstractTableModel和类DefaultTableModel。我们可以从这2个类入手来实现所需的表格模型。 AbstractTableModel是一个实现了TableModel接口的表格模型抽象类,它实现了大部分的TableModel接口方法,但getColumnCount()、getRowCount()和getValueAt()三个方法它并没有实现。我们在利用AbstractTableModel类创建自己的表格模型类时,必须要实现这3个方法。 这3个方法的作用如下: getColumnCount()方法,其返回值用于确定表格的列数目; getRowCount()方法,其返回值用于确定表格的行数目; getValueAt()方法,其返回值用于确定表格每个单元格的内容。 实例 例6-3 利用AbstractTableModel类创建表格模型,再以此表格模型创建表格 例6-4 进一步为表格设好列标题 6.2.2 DefaultTableModel类 DefaultTableModel是继承自AbstractTableModel的表格模型类,AbstractTableModel类中未实现的3个方法也都实现了,使用起来比之AbstractTableModel还要来得简单 DefaultTableModel类的常用构造方法如下: DefaultTableModel(Object[][] data, Object[] columnNames):构造一个 DefaultTableModel,并通过将 data 和 columnNames 传递到 setDataVector 方法来初始化该表。 DefaultTableModel(Object[] columnNames,

文档评论(0)

1亿VIP精品文档

相关文档