package PredictionPanel1;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
import checkBoxTree.CheckBoxTreeCellRenderer;
import checkBoxTree.CheckBoxTreeNode;
public class test extends JFrame{
JPanel contendPanel=new JPanel();
JPanel Jpanel1=new JPanel();
JPanel Jpanel2=new JPanel();
JSplitPane jSplitPane1 = new JSplitPane();
ArrayList SelectedCheckBox=new ArrayList();
int NumEquipment;
JTree tree=new JTree();
ArrayList data;//放树的数据
public test(){
this.getContentPane().add(contendPanel);
this.contendPanel.setLayout(new BorderLayout());
this.setTitle("自由选择树节点");
this.getContentPane().setBackground(new Color(170, 188,
120));
Dimension scrSize =
Toolkit.getDefaultToolkit().getScreenSize();
this.setBounds(5,5,scrSize.width-10, scrSize.height-50);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.jSplitPane1.setOrientation(JSplitPane.VERTICAL_SPLIT);
this.jSplitPane1.setDividerSize(10);
this.jSplitPane1.setOneTouchExpandable(true);
this.jSplitPane1.setDividerLocation((7*scrSize.height)/10);
this.contendPanel.add(jSplitPane1,BorderLayout.CENTER);
this.jSplitPane1.add(Jpanel1,JSplitPane.TOP);
this.jSplitPane1.add(Jpanel2,JSplitPane.BOTTOM);
Jpanel1.setLayout(new BorderLayout(1,1));
//获得树的节点数据,也可以通过数据库获得,这里写成静态的,利于套用
ArrayList data=new ArrayList();
String[] s1={"黑龙江","哈尔滨","鸡西","双城","牡丹江"};
data.add(s1);
String[] s2={"山东","泰安","济南","青岛","德州"};
data.add(s2);
String[] s3={"北京","海淀","顺义","朝阳","东城"};
data.add(s3);
//设置根节点
CheckBoxTreeNode rootNode
= new CheckBoxTreeNode("root");
for(int i=0;i <
data.size();i++) {
String[]
SanJiTitle=data.get(i);//树的标题
String
ErJiTitle=SanJiTitle[0];//树的二级标题
CheckBoxTreeNode
ErJiNode = new CheckBoxTreeNode(ErJiTitle);
rootNode.add(ErJiNode);
for(int j=1;j
CheckBoxTreeNode
SanJiNode = new CheckBoxTreeNode(SanJiTitle[j]);//树的三级标题
ErJiNode.add(SanJiNode);
}
}
DefaultTreeModel model =
new DefaultTreeModel(rootNode);
tree.setModel(model);
tree.setCellRenderer(new
CheckBoxTreeCellRenderer());
JScrollPane scroll = new
JScrollPane(tree);
Jpanel1.add(scroll);
//树的监听
MouseListener ml = new MouseAdapter()
{
public void mousePressed(MouseEvent event) {
JTree
tree = (JTree)event.ge