Jtree的基本用法

直接显示tree的信息,包括子节点和父节点。如何构造一个tree。获取所选节点的信息

 

public class JTreeTest {

public static void main(String[] args) {

//整体窗口的使用

final JFrame jFrame=new JFrame("我的第一个窗体");

jFrame.setSize(new Dimension(800, 500));//设置窗体的大小

jFrame.setBackground(Color.BLACK);

jFrame.setLocation(new Point(300, 300));//设置窗体显示的位置

jFrame.setVisible(true);//设置jframe显示

 

jFrame.setLayout(new FlowLayout());

jFrame.addWindowListener(new WindowAdapter() {//加入关闭窗体事件

@Override

public void windowClosing(WindowEvent e) {

// TODO Auto-generated method stub

System.out.println("系统正在关闭");

System.exit(0);

}

});

 

  DefaultMutableTreeNode color  =   new  DefaultMutableTreeNode( " Color ");//设置一个tree的根节点color

  DefaultMutableTreeNode gray  =   new  DefaultMutableTreeNode ( " Gray " );//设置另一个节点gray

  color.add (gray);//把Gary加入到color

  //设置各个节点子类、父类关系

  color.add ( new  DefaultMutableTreeNode ( " Red " ));

  gray.add ( new  DefaultMutableTreeNode ( " Lightgray " ));

  gray.add ( new  DefaultMutableTreeNode ( " Darkgray " ));

  color.add ( new  DefaultMutableTreeNode ( " Green " ));

  

  System.out.println(color.getChildCount());//一个节点下面的子节点数

  for(int i=0;i<color.getChildCount();i++){//单级节点的打印

  System.out.println(color.getChildAt(i));//打印子节点

  }

final JTree example5  =   new  JTree (color);//初始化jtree,把根节点color传入

 

example5.addTreeSelectionListener(new TreeSelectionListener() {//选择的节点信息

@Override

public void valueChanged(TreeSelectionEvent e) {

// TODO Auto-generated method stub

 

TreePath t[]=e.getPaths();//获取所选节点的路径

if(t!=null&&t.length>0){

for(int i=0;i<t.length;i++){

System.out.println(t[i].getLastPathComponent());//打印(这样写有个问题,每次都打印选中和取消的项目)

}

}

}

});

 

 

//这是只是选中的项目打印,都一样,很简单

public void valueChanged(TreeSelectionEvent e) {

// TODO Auto-generated method stub

flag=false;

TreePath t[]=example5 .getSelectionPaths();

if(t!=null&&t.length>0){

for(int i=0;i<t.length;i++){

System.out.println(t[i].getLastPathComponent());

}

flag=true;

}

}

 

  jFrame.add(example5);//加入jframe面板

}

}



 

你可能感兴趣的:(JTree)