background image

Java 教程:Java 数据库编程中查询结果的表格式输

利用 Java 开发数据库应用系统时,经常需要在用户界面上显示查询结果。由于 SUN 公司
提供的 JDK1.x 开发工具包不是可视化的集成开发环境(IDE),不能象 Delphi、VB 那样方便
地把查询结果在 DBGrid 等表格中显示出来。因此,只能靠自己编写代码来实现。
 在实际应用中,我们可以利用 Vector、JTable、AbstractTableModel 等三个类较好地解决这
一问题。以下,详细介绍一下实现方法。
 一、类 Vector、类 JTable 及类 AbstractTableModel 简介:
 1、类 Vector:
 类 Vector 是 Java 的历史集合类,隶属于 java.util 包。它包装了异构链表和数组杂合体,
具有以下两个特点:
 (1)向量是异构的,不要求每个元素的类型相同,向量中可以混合多种对象类型;
 (2)向量是数组杂合体,因为它们可以在增加元素时动态增大。
 其异构性正好符合数据库记录中属性类型不一的特点,而其动态性也正好符合数据库
查询时,结果集记录个数不定的特点。
 类 Vector 定义如下:
 

public

 

class

 Vector 

extends

 AbstractList

 

implements

 List , Cloneable , Serializable{…}

 实现了向量成员的查找、新增、删除等方法。如:add(Object obj)可方便地加入一个对
象;get(int index)可方便地得到向量中的一个对象;remove(Object obj)则可方便地删除向量中
一个对象。
 2、类 JTable:
 JTable 组件是 Swing 组件中比较复杂的小件,隶属于 javax.swing 包,它能以二维表的
形式显示数据。类 JTable 定义如下:
 

public

 

class

 JTable 

extends

 JComponent

 

implements

 TableModelListener,

 Scrollable, TableColumnModelListener,
 ListSelectionListener,
 CellEditorListener, Accessible{…}
 类 JTable 在显示数据时具有以下特点:
 (1)可定制性:可以定制数据的显示方式和编辑状态;
 (2)异构性:可以显示不同类型的数据对象,甚至包括颜色、图标等复杂对象;
 (3)简便性:可以以缺省方式轻松地建立起一个二维表。
 其可定制性可满足不同用户和场合的要求,异构性也正好符合数据库访问结果集中属
性类型不一的特点。类 JTable 提供了极为丰富的二维表格操作方法,如设置编辑状态、显