java swing jtree例子

本文演示了如何使用Java创建一个资源管理器树型结构,包括目录和文件的构建及展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package test.jtree;

import java.awt.Container;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.UIManager;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;

/**
 * 以treeModel构造jtree
 *
 * @author jwang
 */
public class ModelTree {

    public ModelTree(){
   
        JFrame f = new JFrame();
        Container contentPanel = f.getContentPane();
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("资源管理器");
        DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("我的公文包");
        DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("我的电脑");
        DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("收藏夹");
        DefaultMutableTreeNode node4 = new DefaultMutableTreeNode("Readme");

        DefaultTreeModel treeModel = new DefaultTreeModel(root);
        treeModel.insertNodeInto(node1, root, root.getChildCount());
        treeModel.insertNodeInto(node2, root, root.getChildCount());
        treeModel.insertNodeInto(node3, root, root.getChildCount());
        treeModel.insertNodeInto(node4, root, root.getChildCount());
       
        DefaultMutableTreeNode leafnode = new DefaultMutableTreeNode("公司文件");
        treeModel.insertNodeInto(leafnode, node1, node1.getChildCount());
        leafnode = new DefaultMutableTreeNode("个人信件");
        treeModel.insertNodeInto(leafnode, node1, node1.getChildCount());
        leafnode = new DefaultMutableTreeNode("私人文件");
        treeModel.insertNodeInto(leafnode, node1, node1.getChildCount());
       
        leafnode = new DefaultMutableTreeNode("本地磁盘C:");
        treeModel.insertNodeInto(leafnode, node2, node2.getChildCount());
        leafnode = new DefaultMutableTreeNode("本地磁盘D:");
        treeModel.insertNodeInto(leafnode, node2, node2.getChildCount());
        leafnode = new DefaultMutableTreeNode("本地磁盘E:");
        treeModel.insertNodeInto(leafnode, node2, node2.getChildCount());
       
        DefaultMutableTreeNode node31 = new DefaultMutableTreeNode("网站列表");
        treeModel.insertNodeInto(node31, node3, node3.getChildCount());
        leafnode = new DefaultMutableTreeNode("奇模站");
        treeModel.insertNodeInto(leafnode, node31, node31.getChildCount());
        leafnode = new DefaultMutableTreeNode("取棒消息");
        treeModel.insertNodeInto(leafnode, node31, node31.getChildCount());
        leafnode = new DefaultMutableTreeNode("网络书店");
        treeModel.insertNodeInto(leafnode, node31, node31.getChildCount());
       
        JTree tree = new JTree(treeModel);
        tree.putClientProperty("JTree.lineStyle", "Angled"); // Horizontal None
        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setViewportView(tree);
       
        contentPanel.add(scrollPane);
        f.pack();   
        f.setVisible(true);
       
        f.addWindowListener(new WindowAdapter() {
           
            @Override
            public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        });
    }
           
    public static void main(String[] args) {
        try {
            // 获得本地系统风格
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
            System.exit(0);
        }
        new ModelTree();
    }
  
           
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值