关于 JTable 刷新绘制(repaint) 以及JTable各属性设置

2020-04-18 04:00

关于 JTable 刷新绘制(repaint) 以及JTable各属性设置

关于 JTable 刷新绘制(repaint) 以及JTable各属性设置

关于 JTable 刷新绘制(repaint) java swing 说明:

本文典型应用于,当数据发生改变时,重新加载JTable数据,并且刷新,

令使用者可以立刻看到改变的结果。

使用JTable展示数据时,本部分对数据的增、删、改、查所引起的数据列

表的改变,可以进行实时刷新展示。而不论改变动作来自于本窗体还是外 来窗体。

1. 关于 JTable 的数据装载 以及 关于响应JTable的某些事件

说明:此部分包含构建java JTable表格; 响应表格变化引起的事件; 响应鼠标点击表格引起的事件; 1.1 构建Jtable 数据模型函数 1.1.1 构建Jtable title

此函数用于购建表格台头部分 public String[] jtableTitle() { int i;

String[] jtableTitle = new String[i];

/** 'i' means you will create table's column amount */ stringUser[0] = \stringUser[1] = \.......

stringUser[i-1] = \return jtableTitle; }

1.1.2 构建Jtable data structure

此函数用于购建表格数据结构部分,即往表格中填入数据: public Object[][] dataStruct() throws SQLException { /** throws SQLException means data from some db's table */

Object[][] dataStruct=null;

db.connect(); /** some link database code in here */ ResultSet rs = db.exeQuery(\ResultSet rscount = db.exeQuery(\tablename\

if (rs==null){emptyType=0;}else{emptyType=1;}

/** 'emptyType' tell programe table's data whether empty*/ switch (emptyType){ case 0:

dataUser = new Object[1][i]; dataUser[0][0]=\dataUser[0][1]=\dataUser[0][2]=\.....................

dataUser[0][i-1]=\rsemptyType=true;

/** means db's table is empty. nothing data will fill in JTable */ break; case 1: rscount.next(); int j = rscount.getInt(1);

/** means get table's data count amount*/ dataUser = new Object[j][i]; for (int x = 0; x < j; x++) { rs.next();

dataUser[x][0] = rs.getString(dbTableColumnName1); dataUser[x][1] = rs.getString(dbTableColumnName2);

dataUser[x][2] = rs.getString(dbTableColumnName3); ...........................

dataUser[x][i-1] = rs.getString(dbTableColumnNamei); rsemptyType=false;

/** means db's table have some data and code fill these data in JTable */ db.disconnect(); return dataStruct; }

1.1.3 将构建好的数据加载入Jtable

final JTable jTable1 = new JTable(dataStruct(),jtableTitle()) 1.2 JTable valueChanged() 监听事件 此函数用于监听当JTable发生变化时的事件

典型的应用,适用于将选中的Jtable的行数据,读入窗体中的text,combo等等控件。

方便进行修改(modify)或者删除(delete)操作。 public void

valueChanged(javax.swing.event.ListSelectionEvent e) { super.valueChanged(e); /** super means Jtable */

if (!this.isVisible()) { return; } /** if Jtable visible is false. stop execute code*/

if (!rsemptyType()) { return; }

/** get from 1.1.2 function 'dataStruct()' to judge data dataStruct whether null or have some data */ ListSelectionModel sm =

(ListSelectionModel)e.getSource();

int row = sm.getLeadSelectionIndex(); /** means get selected row number */

int colCount = this.getColumnCount(); /** means get Jtable's Column amount */

String[] sa = new String[colCount]; for (int col=0; col

sa[col] = (String)this.getValueAt(row, col); }

jTextField1.setText(sa[0]); jTextField2.setText(sa[1]); jTextField3.setText(sa[2]); ...........................

jTextField4.setText(sa[colCount-1]);

/** above code means fill the selected row's data in text control by every column*/ }


关于 JTable 刷新绘制(repaint) 以及JTable各属性设置.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:实变函数论课后答案第三章2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: