java 带复选框的jtree_JavaSwing:带复选框的jtree的任意选择

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值