第三节:高级Swing界面JTable编程
目标: |
1. 掌握表格组件的基本用法; 2. 理解数据结构与界面分离的设计原理 |
3.使用JTable+TableModel展示java中的数据对象: 4
1.JTable与TableModel
1.TableModel与JTable的关系:
前面,我们己学会在界面上加入一个简单的JTable对象:
JTable table=new JTable(3,5);这段代码即可创建一个三行五列的表格用以显示在界面上;在具体的应用中,我们肯定是要让JTable显示我们自己定义的数据,比如将上例中的UserInfo对象或UserBlog对象显示到表格中,那就必须定制JTable对象所要使用的javax.swing.table.TableModel对象,在开始前,我们先理解javax.swing.table.TableModel和JTable之间的关系:模特与衣服之间的关系:
JTable对象---------->TableModel
简单的说,JTable只是一个界面,主要负责显示功能,但JTable对象具体显示多少行多少列,甚示每行每列中显示什么类型的数据,JTable中的单元格是否可编辑,编辑之后怎么办…关于数据提供和数据操作的实现,都是由这个JTable对象的TableModel对象所负责的;反向而言,当JTable对象界面的数据被改动时,JTable会自动调用自己模型中的方法将改动反映到模型中。
说了这么多,我们来看TableModel到底是什么东东----它是一个接口定义,源码说明如下:
//通过调用JTable对象的setModel方法,传入实现了TableModel接口类的对象 public interface TableModel{ public int getRowCount();//决定表格上显示多少行 public int getColumnCount();//表格上显示多少列 //得到某一列的列名,columnIndex:列的序号,从0开始 public String getColumnName(int columnIndex); //得到某一列的数据类型,columnIndex:列的序号,从0开始 public Class<?> getColum |