《第6章表格的高级应用.ppt》由会员分享,可在线阅读,更多相关《第6章表格的高级应用.ppt(11页珍藏版)》请在三一文库上搜索。
1、2019/3/12,1,第6章 表格的高级应用,JTable控件介绍 表格模型,2019/3/12,2,6.1 JTable控件介绍,JTable是一种标准的Swing控件,用于显示一个二维对象表格。 JTable采用了Swing MVC模式,使用JTable类创建的仅是数据的视图而没有包含真正的数据,其数据由其模型管理。,2019/3/12,3,NetBeans中JTable的使用实例 新建一个名称为TableProject的项目; 向TableProject中添加一个通过JFrame模板创建的类,名称为DemoJTable; 从“组件面板”窗口向DemoJTable中添加一个JTable控
2、件,并将其名称修改为:factoryTable。,注意:JTable控件本身没有自动滚动的功能,需要将其添加到JScrollPane中才能使用该功能,而且没有添加到JScrollPane中的表格还可能显示不正确。,2019/3/12,4,model属性 Table Settings: Column列中内容为列的索引号 Title列中值为表格标题栏的内容 Editable定义表格列的可编辑性 Type列中值为表格相应列的类型,注意:选择了不同的列类型,在程序运行时表格列所对应的编辑器也会有所不同,例如选择了Integer类型,则此列只能输入整数,否则报错。,2019/3/12,5,6.2 表格模
3、型-TableModel,JTable类创建的只是表格的视图,其并不包含真正的数据,JTable使用实现了java.swing.table.TableModel接口的类对象作为其数据模型。,2019/3/12,6,AbstractTableModel类 AbstractTableModel类是一个抽象类,实现了TableModel接口中的大多数方法,但将最重要的部分留给开发人员完成,是开发人员创建自己表格模型的起点 三个未实现的方法: public abstract int getColumnCount(); public abstract int getRowCount(); public
4、abstract Object getValueAt(int row,int col); 实例1 AbstractTableModel类的应用。,2019/3/12,7,DefaultTableModel类 一般情况下,DefaultTableModel使用对象数组或由多个Vector对象构成的Vector来存储单元格的值。例如: Vector title=new Vector(); title.add(“姓名”); title.add(“密码”);,2019/3/12,8,Vector first=new Vector(); first.add(“wang”); first.add(“123
5、4”); Vector second=new Vector(); second.add(“li”); second.add(“1111”); Vector content=new Vector(); content.add(first); content.add(second); DefaultTableModel myModel=new DefaultTableModel(content,title);,2019/3/12,9,实例2 在NetBeans中开发使用DefaultTableModel的程序。,2019/3/12,10,编写方法initialTableModel(),用于创建并初始化DefaultTableModel对象并返回; model属性,2019/3/12,11,向表模型中添加行 DefaultTableModel myModel=(DefaultTableModel)jTable.getModel(); myModel.getDataVector().add(newRow); 向表模型中删除第n行 myModel.removeRow(n); 向表模型中添加列 myModel.addColumn(“列标题”); 向表模型中删除列 myModel.setColumnCount(n-1);,
链接地址:https://www.31doc.com/p-2257465.html