欢迎来到天天文库
浏览记录
ID:21835433
大小:378.00 KB
页数:16页
时间:2018-10-25
《jtable的使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JTable的使用收藏目标:1.掌握表格组件的基本用法;2.理解数据结构与界面分离的设计原理1.JTable与TableModel21.TableModel与JTable的关系:22.TableModel实践:33.使用JTable+TableModel展示java中的数据对象:42.JTable展示方式的美化:71.设置表格的宽度和高度:72.要显示表头:83.新加列,将列设为下拉框:84.表格排序:93.JTable事件响应和项目设想94.一个游戏:《java连连看》101.需求分析:102.编写T
2、ableModel和界面实现:113.连连看事件监听:14总结和任务:15不止乎方法,理关乎理念!161.JTable与TableModel1.TableModel与JTable的关系:前面,我们己学会在界面上加入一个简单的JTable对象:JTabletable=newJTable(3,5);这段代码即可创建一个三行五列的表格用以显示在界面上;在具体的应用中,我们肯定是要让JTable显示我们自己定义的数据,比如将上例中的UserInfo对象或UserBlog对象显示到表格中,那就必须定制JTable
3、对象所要使用的javax.swing.table.TableModel对象,在开始前,我们先理解javax.swing.table.TableModel和JTable之间的关系:模特与衣服之间的关系:JTable对象TableModel对象简单的说,JTable只是一个界面,主要负责显示功能,但JTable对象具体显示多少行多少列,甚示每行每列中显示什么类型的数据,JTable中的单元格是否可编辑,编辑之后怎么办…关于数据提供和数据操作的实现,都是由这个JTable对象的TableModel对象所负责的
4、;反向而言,当JTable对象界面的数据被改动时,JTable会自动调用自己模型中的方法将改动反映到模型中。说了这么多,我们来看TableModel到底是什么东东----它是一个接口定义,源码说明如下://通过调用JTable对象的setModel方法,传入实现了TableModel接口类的对象publicinterfaceTableModel{publicintgetRowCount();//决定表格上显示多少行publicintgetColumnCount();//表格上显示多少列//得到某一列的列
5、名,columnIndex:列的序号,从0开始publicStringgetColumnName(intcolumnIndex);//得到某一列的数据类型,columnIndex:列的序号,从0开始publicClass>getColumnClass(intcolumnIndex);//某一单元格在界面上是否可直接编辑,rowIndex:行号,columnIndex:列号,从0开始publicbooleanisCellEditable(introwIndex,intcolumnIndex);//具体
6、的JTable在显示时,调用这个方法取得每一个一单元格的值publicObjectgetValueAt(introwIndex,intcolumnIndex);//如果表格可编辑,表格对象将调用这个方法将改变后的值反映到它的model对象中//aValue代表修改后的值,rowIndex,columnIndex表示所在的行列索引。publicvoidsetValueAt(ObjectaValue,introwIndex,intcolumnIndex);//模型对象可调用这个方法为自己加入一个监听器pub
7、licvoidaddTableModelListener(TableModelListenerl);//移除模型对象中的监听器publicvoidremoveTableModelListener(TableModelListenerl);}根据以上接口定义,我们只需要编写一个实现了TableModel的类,通过如下样例代码:javax.swing.JTabletable=newjavax.swing.JTable();table.setModel(new实现了TableModel接口的类);就可以在JT
8、able对象16在显示时,就会自动调用传入的Model中的方法用以填充自己的单元格的数据。2.TableModel实践:首先,我们编写一个TableModel的实现类如下:importjavax.swing.event.TableModelListener;/**自定义的tableModel实现类*/publicclassMyTableModelV1implementsjavax.swing.table.TableModel{//多少行:p
此文档下载收益归作者所有