進口?java.awt .容器;
進口?Java . awt . dimension;
進口?javax . swing . jframe;
進口?javax . swing . jlabel;
進口?javax . swing . jpanel;
進口?javax . swing . jtree;
進口?javax . swing . event . treeselectionevent;
進口?javax . swing . event . treeselectionlistener;
進口?javax . swing . tree . defaultmutabletreenode;
公共?班級?TestSwingTree?延伸?JFrame?{
私人?JPanel?p;
公共?TestSwingTree(字符串?標題){
超級(標題);
}
公共?作廢?init(){
集裝箱?c?=?this . getcontentpane();
DefaultMutableTreeNode?根?=?新的?DefaultMutableTreeNode(" root ");
DefaultMutableTreeNode?child1?=?新的?DefaultMutableTreeNode(" child 1 ");
DefaultMutableTreeNode?child11?=?新的?DefaultMutableTreeNode(" child 11 ");
DefaultMutableTreeNode?child12?=?新的?DefaultMutableTreeNode(" child 12 ");
DefaultMutableTreeNode?child2?=?新的?DefaultMutableTreeNode(" child 2 ");
DefaultMutableTreeNode?孩子3?=?新的?DefaultMutableTreeNode(" child 3 ");
DefaultMutableTreeNode?child31?=?新的?DefaultMutableTreeNode(" child 31 ");
root . add(child 1);
root . add(child 2);
root . add(child 3);
child 1 . add(child 11);
child 1 . add(child 12);
child 3 . add(child 31);
JTree?樹?=?新的?JTree(根);
tree.setPreferredSize(新?維度(120,?400));
tree.addTreeSelectionListener(新?TreeSelectionListener()?{
公共?作廢?value changed(TreeSelectionEvent?e)?{
p . remove all();
JLabel?l?=?新的?JLabel(e.getPath()。toString());
l.setBounds(5,190,?170,?20);
p . add(l);
p . repaint();
}
});
c.add(tree,BorderLayout。西);
p?=?新的?JPanel();
p.setLayout(空);
p.setPreferredSize(新?維度(180,?400));
c.add(p,BorderLayout。中心);
this.setLocation(400,300);
this.setSize(300,?400);
this . setresizable(false);
this . set visible(true);
this . setdefaultcloseoperation(this。DISPOSE _ ON _ CLOSE);
}
公共?靜電?作廢?main(String[]?args)?{
新的?TestSwingTree("Test?蕩秋千?Jtree”)。init();
}
}