java jtable setmodel_Jtable利用SetModel进行数据绑定 | 学步园

首页定义了一个公用Model类,代码如下:

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package TableModel;

import java.sql.ResultSet;

import java.util.LinkedList;

import javax.swing.table.AbstractTableModel;

import zhinengkaiguanjiankong.comm.LoggerUtil;

/**

*数据库和JTable数据绑定记录数据存放对象

* @author http://www.my400800.cn

*/

public class TableModel extends AbstractTableModel {

private int column = 4;

private String[] columnName = null;

private LinkedList resultSet = null;

public TableModel() {

}

/** Creates a new instance of TableModel */

public TableModel(ResultSet rs, String[] DScolumnName, String[] columnName) throws Exception {

if (DScolumnName.length != columnName.length) {

throw new Exception("指定JTable列和指定数据库列数不一致,无法进行数据绑定");

}

this.columnName = columnName;

column = columnName.length;

resultSet = new LinkedList();

try {

while (rs.next()) {

String[] row = new String[column];

for (int i = 0; i < column; i++) {

row[i] = rs.getString(DScolumnName[i]);

}

resultSet.add(row);

}

} catch (Exception e) {

LoggerUtil.WriteErrLog(e);

throw e;

// System.out.println("err");

}

}

/**

* 取得总记录数

* @return  总记录数

*/

public int getRowCount() {

return resultSet.size();

}

/**

* 取得总列数

* @return  总列数

*/

public int getColumnCount() {

return column;

}

/**

* 取得指定行指定列数据

* @param rowIndex      行

* @param columnIndex   列

* @return

*/

public Object getValueAt(int rowIndex, int columnIndex) {

String[] row = resultSet.get(rowIndex);

return row[columnIndex];

}

/**

* 取得指定列名称

* @param i  指定列

* @return   指定列名称返回

*/

public String getColumnName(int i) {

return columnName[i];

}

}

model实现类,在这个列里面设定JTable列明和数据库的取得字段名

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package TableModel;

import java.sql.ResultSet;

/**

*

* @author 173.114

*/

public class ZhinengkaiguanjiankongViewTableModel extends TableModel {

public ZhinengkaiguanjiankongViewTableModel(ResultSet rs) throws Exception {

/**

* 记录rs   数据库字段名    JTable列明

*/

super(rs, new String[]{"id", "i64val", "timeval", "val14", "val22", "adv", "val24", "val13"},

new String[]{"ID", "名称", "时间", "状态", "段位", "属性", "备注", "开关ID"});

}

}

数据绑定代码

tableModel = new ZhinengkaiguanjiankongViewTableModel(数据库取得的ResultSet );

jtbl_DataList.setModel(tableModel);

通过上面的代码,就把数据通过Model绑定到JTable了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值