1.创建Tree
树也是图形化用户界面中使用非常广泛的GUI 组件,例如打开Windows资源管理器时就会看到目录树:
该图展示了Windows资源管理器的目录树,在Swing中使用JTree对象来代表一棵树,JTree树中节点可以使用TreePath 标识,该对象封装了当前节点及其所有的父节点,当一个节点具有子节点时,
该节点具有展开和折叠两种状态,如果希望创建一棵树 ,可以使用JTree类的构造方法,构造方法如下:
示例代码:
package com.huawei.ncre;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
public class TestJTree {
public static void main(String[] args) {
//创建JFrame窗口
JFrame jf=new JFrame("JFrame窗口");
//创建树中所有节点
DefaultMutableTreeNode root = new DefaultMutableTreeNode("中国");
DefaultMutableTreeNode bj = new DefaultMutableTreeNode("北京");
DefaultMutableTreeNode hb = new DefaultMutableTreeNode("河北");
DefaultMutableTreeNode lf = new DefaultMutableTreeNode("廊坊");
DefaultMutableTreeNode sjz = new DefaultMutableTreeNode("石家庄");
//建立节点之间的父子关系
hb.add(lf);
hb.add(sjz);
root.add(bj);
root.add(hb);
//创建树
JTree tree=new JTree(root);
jf.add(new JScrollPane(tree));
jf.setSize(200,150);
//设置窗体关闭方式
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
}
程序运行后样式如下:
程序运行弹出JFrame窗口,在窗口中有一个目录树,这里“中国”和“河北”有子节点,可以展开或折叠,双击“河北”节点,可以看到“河北两个子节点”,
代码中,首先创建JFrame窗体,然后创建树中所有节点,接着建立节点之间的父子关系,最后以根节点创建树。
JTable:
表格也是GUI中常用的组件,表格是一个由多行,多列组成的二维显示区,Swing 的JTable 提供了对表格的支持,通过使用JTable 创建表格是非常容易的,它的构造方法如下表所示:
该表列举了JTable类的构造方法,它在创建的时候,可以把一个二维数据包装成一个表格,这个二维数据既可以是一个二维数组,也可以是一个集合元素为Vector的Vector对象,为了给表格每列设置列标题,还需要传入一个一维数据作为列标题:
代码演示:
package com.huawei.ncre;
import javax.swing.*;
public class TestTable {
public static void main(String[] args) {
//创建JFrame窗口
JFrame jf=new JFrame("JFrame窗口");
//定义表格标题
String[] title={"序号","教室","课程"};
//定义表格数据
Object[][] data ={new Object[]{1,12,"java"},new Object[]{2,9,"IOS"},new Object[]{2,9,"IOS"}};
//创建JTable
JTable table=new JTable(data,title);
jf.add(new JScrollPane(table));
jf.setSize(200,150);
//设置窗体关闭方式
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
}
窗体演示:
程序运行弹出JFrame窗口,在窗口中有一个表格,其中包括列标题和表格内容,代码中,首先创建了JFrame窗体,然后定义表格标题和数据的两个数组,最后创建JTable时将两个数组以参数传入,利用JTable类成功展示一个表格。