第十二章
JTable:
1:JTable是类JComponent的子类,它扩展有了JComponent
2:JTable只用来显示数据,不能存储数据
3:创建一个JTable的步骤:
A)拖一个JScollPane,用来给表格创建gun动条(可选项)
B)拖一个JTable
C)创建一个模模式,以后通过表模式来对表进行添加,删除,修改操作(javax.swing.table.DefaultTableModel)
String[] ColumnNames={"工号","姓名","性别"};
DefaultTableModel model=new DefaultTableModel(ColumnNames,0);
第一个参数:为表创建的列名数组
第二个参数:初始行的大小,由于此时表没有任何数据,一般设为零
D)用"表模式"来实例化JTable
JTable tb = new JTable(model);
E)如果没有列标题出来:可以在设计器上选中"TableHeader"单右--->"expose as class level variable"
4:JTable的方法:
1)Model.addRow(Object[] RowData)
功能:通过表模式向表中添加一行
参数:要加入到Object类的数组
Object[] NewWorker={"W01","张三","男"};
model.addRow(NewWorker);
2)tb.getSelectedRow()
功能:通过表得到当前选中的行的下标
3)model.getValueAt(行号,列标)
功能:通过表模式得到指定行和指定列的值
特别:model.getValueAt(tb.getSelectedRow(),0) :得到当前选中行的第一个字段的值
4)model.setValueAt(要修改值,行号,列标)
功能:通过表模式把指定行指定列的值修改成为指定值
特别:model.setValueAt("张三",tb.getSelectedRow(),0):把当前行的第一个字段值设为"张三"
5)model.getRowCount()
功能:通过表模式得到所有行个数
6)tb.changeSelection(选中行,0,false,false)
功能:可以选中指定的行
7)model.removeRow(行号):
功能:删除指定的行
特别:model.removeRow(tb.getSelectedRow());删除选中的行
举例:做一个拥用 增,删,修,查的职工管理系统
JTreeView:
1:JTreeView中第一行被称一个节点。
2:每一个节点都是一个DefaultMutableTreeNode对像
3:创建一个TreeView的步骤:
A:创建一个根节点
DefaultMutableTreeNode RootNode=new DefaultMutableTreeNode("我的工具箱");
B:创建几个子节点
DefaultMutableTreeNode PlayerNode=new DefaultMutableTreeNode("游戏类");
DefaultMutableTreeNode OfficeNoder=new DefaultMutableTreeNode("办公类");
C:把子节点添加到根节点中
RootNode.add(PlayerNode);
RootNode.add(OfficeNoder);
D:再为子节点添加子节点,如此循环
E:把所有节点创建好之后,可以通过JTree的构造函数来实例化一个JTree
this.tree1=new JTree(RootNode);
4:注意JTree首先只定义不实例化,然后在构造函数中实例化
5:把添加节点并实例化代码写在jbInit()的首行
6:JTree创建好之后,每次单击一个节点会触发valueChanged事件
可以得到用户所选中的节点:
DefaultMutableTreeNode SelNode = (DefaultMutableTreeNode)this.tree1.getLastSelectedPathComponent();
得到选中节点的文本:
SelNode.getUserObject().toString()
举例:可以执行一个可执行程序,要捕获异常
Runtime.getRuntime().exec("C:\\WINDOWS\\system32\\winmine.exe");
评论