1.创建Tree

   树也是图形化用户界面中使用非常广泛的GUI 组件,例如打开Windows资源管理器时就会看到目录树:

java tree 生成 目录 java目录树组件_java

该图展示了Windows资源管理器的目录树,在Swing中使用JTree对象来代表一棵树,JTree树中节点可以使用TreePath 标识,该对象封装了当前节点及其所有的父节点,当一个节点具有子节点时,

该节点具有展开和折叠两种状态,如果希望创建一棵树 ,可以使用JTree类的构造方法,构造方法如下:

java tree 生成 目录 java目录树组件_swing_02

示例代码:

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);
    }
}

程序运行后样式如下:

 

java tree 生成 目录 java目录树组件_java tree 生成 目录_03

程序运行弹出JFrame窗口,在窗口中有一个目录树,这里“中国”和“河北”有子节点,可以展开或折叠,双击“河北”节点,可以看到“河北两个子节点”,

代码中,首先创建JFrame窗体,然后创建树中所有节点,接着建立节点之间的父子关系,最后以根节点创建树。

JTable:

    表格也是GUI中常用的组件,表格是一个由多行,多列组成的二维显示区,Swing 的JTable 提供了对表格的支持,通过使用JTable 创建表格是非常容易的,它的构造方法如下表所示:

java tree 生成 目录 java目录树组件_swing_04

该表列举了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);


    }
}

窗体演示:

java tree 生成 目录 java目录树组件_构造方法_05

 

程序运行弹出JFrame窗口,在窗口中有一个表格,其中包括列标题和表格内容,代码中,首先创建了JFrame窗体,然后定义表格标题和数据的两个数组,最后创建JTable时将两个数组以参数传入,利用JTable类成功展示一个表格。