Java中基于自定义表格模型表格实现方法探究

Java中基于自定义表格模型表格实现方法探究摘要:JTable是JavaSwing开发工具包中的表格组件。该文介绍了通过定义一个自定义表格模型来构造和使用表格的方法。关键词:Java;表格;表格模型中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)15-3583-03ResearchonImplementationMethodofTableBasedonCustomTableModelinJavaPANGuo-rong(ChangZhouLiuGuo-junHigherVocationalandTechnicalSchool,Changzhou213025,China)Abstract:JtableisthetablecomponetsofJavaSwingdevelopmentkit・Thispaperdiscussesthemethodofconstruetingandusingtablesbydefiningacustommodel.Keywords:Java;table;tablemodel因Java程序设计语言具有强大的功能,正越来越多地被软件开发人员所使用。使用Java既可以编写基于Windows的图形用户界面GUI程序,也可以编写在Internet网络环境下运行的Web应用程序。现在编写GUI程序主要使用Swing开发工具包,它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。如果要在程序界面中显示大量数据,并且经常和数据库中数据进行交互,可以使用Swing开发工具包中的表格JTable组件,该组件是较为复杂的组件之一。JTable组件控制数据的显示方式,但JTable组件中存储的数据是由表格模型决定的,因此在我们创建JTable组件前,应先创建一个表格模型。Swing开发工具包中提供了好几种表格模型类,如DefaultTableModel、AbstractTableModel,但直接使用它们来构造表格还显得不太方便和灵活,通常可以自己定义一个模型类来构造表格。1自定义表格模型的定义可以将Swing中提供的抽象表格模型类AbstractTableModel作为基类,派生出一个表格模型类,在该类中,重新定义了构造方法以及向表格中添加数据行的方法、删除表格中数据行的方法、设置和读取表格单元格中数据的方法及获取表格中行数的方法等,通过设计这些方法,大大方便了对表格中数据的操纵。自定义表格模型类MyTableModel.java的定义如下:importjava.util.*;importjava.sql.*;importjavax・swing・table・*;importjavax・swing.*;publicclassMyTableModelextendsAbstractTableModel{privateVectorcontentful1;//存放表格数据的VectorprivateStringE]title_name;//存放表格标题的数组privateintcolCnt;//表格中的列数privateintcolSt,colEnd;//可以编辑列的起止索引号//构造方法publicMyTableModel(StringE]title_name,intn){this.title_ndme二newStringEn];colCnt=n;for(inti=0;irow){content.remove(row);}}}//获取行数publicintgetRowCount(){returncontent.size();}//获取某一单元格的值publicObjectgetValueAt(introw,intcol){return((Vector)content・get(row)).get(col);}//更新表格中某一单元格的值publicvoidsetValueAt(Objectvalue,introw,int{((Vector)content,get(row)).remove(col);((Vector)content.get(row)).add(col,value);this・fireTableCellUpdated&ow,col);}//设定可编辑列的起止范围,从colSt到colEndpublicvoidsetColumnEditable(intcolSt,intcolEnd){this.colSt二colSt;this.colEnd=colEnd;}//决定表格中哪些单元格的值可以修改,返回false表示不能修改publicbooleanisCellEditable(introwindex,intcolumnindex)//序列号不能修改if(columnIndex>=colSt&&columnlndex<=colEnd){returntrue;}returnfalse;}//获取列名publicStringgetColumnName(intcol){returntitle_name[col];}//获取列数publicint£etColumnCount(){returntitle_name.length;}}2自定义表格模型的使用表格模型定义好后,要使用表格就比较方便了。下面通过从数据库学生情况表(学号:ssno,姓名:ssname,性别:ssex,备注:ss?note)中将数据取至表格中来说明其主要步骤。2.1定义表格标题String数组、JTable组件对象、及自定义表格模型MyTableModel的对象String:]heads={“序号”,”学号”,”姓名",“性别”,”备注”};JTabletable;MyTableModelmodel;2.2生成JTable组件对象、自定义表格模型MyTableModel的对象model=newMyTableModel(heads,5);table=newJTable(mod...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?