⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ttree.java

📁 一个资产管理系统的源码
💻 JAVA
字号:
package zichan;

import javax.swing.JPanel;
import javax.swing.JTextArea;
import java.awt.Rectangle;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.GridBagLayout;
import java.awt.*;
import javax.swing.JTree;
import javax.swing.JScrollPane;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.event.TreeSelectionListener;
import javax.swing.event.TreeSelectionEvent;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
class Branch{
    DefaultMutableTreeNode r;
    public Branch(String[] data,int cnt,int start){
        r=new DefaultMutableTreeNode(data[start++]);
        for(int i=0;i<cnt;i++)
            r.add(new DefaultMutableTreeNode(data[start++]));

    }
    public DefaultMutableTreeNode node(){
        return r;
    }

}
public  class TTree extends JPanel implements ActionListener,TreeSelectionListener  {
    int cnt;
    JTree jTree;
    TreeModle tdm;
    DefaultMutableTreeNode root,child;
    public String connditon;
    public boolean isleaf;
    public TTree() {
        Container cp = this;
        cp.setLayout(new BorderLayout());
        tdm=new TreeModle();
        root = new DefaultMutableTreeNode("类别");

        jTree = new JTree(root);
        jTree.addTreeSelectionListener(this);
        //root.add(parent);
        //parent.add(Leafe);
        cp.add(new JScrollPane(jTree), BorderLayout.CENTER);

        JButton jBtn = new JButton("查询类别");
        jBtn.addActionListener(this);
        JPanel p = new JPanel();
        p.add(jBtn);
        cp.add(p, BorderLayout.SOUTH);
        this.setVisible(true);
        try {
            jbInit();
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }



    public void actionPerformed(ActionEvent e) {
        //需要大类个数,cnt
        int i = 0;
        int j = 0;
        int count = 0;
        cnt = tdm.selCateCnt(); //得到大类个数

        //需要小类个数
        int[] scnt = new int[cnt];
        tdm.selSubCateCnt(scnt);
        //需要各个大类和其中各个小类的名称
        //cnt=2,scnt[0]=2,scnt[1]=2
        for (i = 0; i < cnt; i++)
            count = count + scnt[i] + 1;
        //假使大类个数为2
        //第一次count=0+2+1==3
        //第二次count=3+2+1==6
        String[] data = new String[count];
        //保存各节点名字数组
        tdm.selCate(data, scnt, cnt);
        //data[0]="交通工具"
        //、以上面各个名称,生成树

        i = 0;
        j = 0;
        root.removeAllChildren(); //清空
        while (i < cnt) { //cnt=2,i=0,1
            Branch b = new Branch(data, scnt[i], j);
            //i=0时,Branch(data,2,0)
            //i=1时,Branch(data,2,3)

            child = b.node();
            j = j + scnt[i] + 1;
            //实现指向大类的名称
            i++;
            root.add(child);
        }
    }
public void valueChanged(TreeSelectionEvent e){
     DefaultMutableTreeNode node=( DefaultMutableTreeNode)
                                 jTree.getLastSelectedPathComponent();
     if(node==null){
         return;
     }
     Object nodeInfo=node.getUserObject();
     connditon=nodeInfo.toString();
     isleaf=node.isLeaf();
     Share.condition=connditon;
     Share.isleaf=isleaf;
}

    private void jbInit() throws Exception {
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -