首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 网络编程 → JSP专区 → 文章内容

Java编程中查询结果表格式输出

作者:佚名  来源:转载  发布时间:2007-12-25 13:35:51

---- 在实际应用中,我们可以利用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提供了极为丰富的二维表格操作方法,如设置编辑状态、显示方式、选择行列等,在此不一一赘述。

---- 使用类JTable显示数据之前,必须根据情况生成定制模型、单元绘制器或单元编辑器。类AbstractListModel用来定制用户自己的数据模型,这个类在后面要介绍。TableCellRenderer接口用来定制单元绘制器,TableCellEditor接口用来定制单元编辑器,这两个接口主要用于颜色对象的处理上,在示例中没有用到,不做过多说明。

---- 3、类AbstractTableModel:

---- 类AbstractTableModel是一个抽象类,没有完全实现,不能实例化,使用时必须在程序中实现方法。它隶属于javax.swing.table 。类定义如下:

public abstract class AbstractTableModel extends Object
implements TableModel, Serializable{…}

---- 类AbstractTableModel提供了TableModel接口中绝大多数方法的缺省实现。TableModel接口定义了JTable 的基础数据结构。用户要生成自己的数据模型,本来可以通过实现TableModel接口中所有方法来满足要求,但管理听众表的功能对于所有数据模型是共同的,所以在javax.swing.table中又定义了类AbstractTableModel来处理这个工作。它既管理听众表,又为生成TableModelEvents事件并委托给听众提供了便利。

---- 要想生成一个具体的TableModel作为AbstractTableMode的子类,至少必须实现下面三个方法:

public int getRowCount();
public int getColumnCount();
public Object getValueAt(int row, int column);

---- 至此,我们可以建立一个简单二维表(5×5),实现方法如下:

TableModel dataModel = new AbstractTableModel() {
public int getColumnCount() { return 5; }
public int getRowCount() { return 5;}
public Object getValueAt(int row, int col)
{ return new Integer(row*col); }
};
JTable table = new JTable(dataModel);
JScrollPane scrollpane = new JScrollPane(table);

---- 二、数据库及其连接方法简介:

---- 示例采用Sybase数据库系统,数据库存放在数据库服务器中。路径为:D:\WORKER,数据库名为:worker.dbf。具有以下字段:

字段名 类型
Wno(职工号) VARCHAR
Wname(职工名) VARCHAR
Sex(性别) VARCHAR
Birthday(出生日期)DATE
Wage(工资) FLOAT

---- 要连接此数据库,需使用java.sql包中的类DriverManager。此类是用于管理JDBC驱动程序的实用程序类。它提供了通过驱动程序取得连接、注册,撤消驱动程序,设置登记和数据库访问登录超时等方法。具体连接方法如下:

---- 第一步:定位、装入和链接SybDriver类;

driver="com.sybase.jdbc.SybDriver";
SybDriver sybdriver=(SybDriver)
Class.forName(driver).newInstance();

---- 第二步:注册SybDriver类;

DriverManager.registerDriver(sybdriver);

---- 第三步:取得连接(SybConnection)对象引用。

user="sa";
password="";
url="jdbc:sybase:Tds:202.117.203.114:5000/WORKER";
SybConnection connection=
(SybConnection)DriverManager.getConnection
(url,user,password);

---- 建立完连接后,即可通过Statement接口进行数据库的查询与更改。

---- 三、实现方法:

---- 限于篇幅,在此只给出核心代码,包引入、界面处理、变量定义等部分不再介绍。第一步:对象声明。

AbstractTableModel tm;
//声明一个类AbstractTableModel对象
JTable jg_table;//声明一个类JTable对象
Vector vect;//声明一个向量对象
JScrollPane jsp;//声明一个滚动杠对象
String title[]={"职工号","职工名",
"性别","出生日期","工资"};
//二维表列名

---- 第二步:定制表格。

---- 1、实现抽象类AbstractTableModel对象tm中的方法:

vect=new Vector();//实例化向量
tm=new AbstractTableModel(){
public int getColumnCount(){
return title.length;}//取得表格列数
public int getRowCount(){
return vect.size();}//取得表格行数
public Object getValueAt(int row,int column){
if(!vect.isEmpty())
return
((Vector)vect.elementAt(row)).elementAt(column);
else
return null;}//取得单元格中的属性值
pu

[1] [2]  下一页

[] [返回上一页] [打 印]
  • 上一篇文章:JSP数据库基础知识 语法详解
  • 下一篇文章:一个JSP编程进度条设计实例

  • 相关文章:
  • Java Servlet开发三层数据库程序
  • [图文]Java编程中查询结果表格式输出
  • 安装JDK 就可同时运行PHP和Java?
  • PHP:编程界巨无霸 目标直指Java
  • [组图][JAVA]十四种Java开发工具点评
  • [组图]初学java常用开发工具介绍
  • 用Java实现HTTP文件队列下载
  • Java编程中更新XML文档的常用方法
  • Java学习从入门到精通 4方法篇
  • Singleton在Java中的应用
  • Java学习从入门到精通 3过程篇
  • Java学习从入门到精通 2书籍篇
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号