ããJTreeç»ä»¶è¢«ç¨æ¥ä»¥æ çå½¢å¼æ¾ç¤ºæ°æ®ï¼ä¸å±å¥ä¸å±ï¼çèµ·æ¥æ¸
æ°æäºï¼ä½¿ç¨æ·å¾æ¹ä¾¿å°å°±äºè§£å°å个èç¹ä¹é´çå±æ¬¡å
³ç³»ï¼å¯ä»¥å¾å®¹æå°æ¾å°ç¸å
³çæ°æ®ã
ããä¾å¦ Windows ç³»ç»çæ件管çå¨ï¼å®å°±æ¯ä¸ä¸ªå
¸åçæ å±æ¬¡ç»æã
ããJTreeçæé å½æ°ï¼
ãã·JTree() 建ç«ä¸æ£µé»è®¤çæ ã
ãã·JTree(Hashtable data) å©ç¨Hashtable建ç«æ ã
ãã·JTree(Object[] data) å©ç¨æ°ç»å»ºç«æ ã
ãã·JTree(TreeModel model) å©ç¨TreeModel建ç«æ ã
ãã·JTree(TreeNode root) 建ç«ä»¥rootä¸ºæ ¹çæ ã
ãã·JTree(TreeNode root,Boolean children) 建ç«ä»¥ root ä¸ºæ ¹çæ ï¼å¹¶è®¾å®æ¯å¦å
许æåèç¹ã
ãã·JTree(Vector value) å©ç¨Vector建ç«æ ã
ãã使ç¨ä¸ä¸ªJTreeå¯ä»¥ç®åå°åä¸é¢è¿æ ·è¡¨ç¤ºï¼
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
public class TreeDemo {
public static void main(String[] args) {
// å建没æç¶èç¹ååèç¹ãä½å
许æåèç¹çæ èç¹ï¼å¹¶ä½¿ç¨æå®çç¨æ·å¯¹è±¡å¯¹å®è¿è¡åå§åã
// public DefaultMutableTreeNode(Object userObject)
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("软件é¨");
node1.add(new DefaultMutableTreeNode(new User("å°è±")));
node1.add(new DefaultMutableTreeNode(new User("å°è")));
node1.add(new DefaultMutableTreeNode(new User("å°é¾")));
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("éå®é¨");
node2.add(new DefaultMutableTreeNode(new User("å°å¶")));
node2.add(new DefaultMutableTreeNode(new User("å°é¯")));
node2.add(new DefaultMutableTreeNode(new User("å°å¤")));
DefaultMutableTreeNode top = new DefaultMutableTreeNode("èå管ç");
top.add(new DefaultMutableTreeNode(new User("æ»ç»ç")));
top.add(node1);
top.add(node2);
final JTree tree = new JTree(top);
JFrame f = new JFrame("JTreeDemo");
f.add(tree);
f.setSize(300, 300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// æ·»å éæ©äºä»¶
tree.addTreeSelectionListener(new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
.getLastSelectedPathComponent();
if (node == null)
return;
Object object = node.getUserObject();
if (node.isLeaf()) {
User user = (User) object;
System.out.println("ä½ éæ©äºï¼" + user.toString());
}
}
});
}
}
class User {
private String name;
public User(String n) {
name = n;
}
// éç¹å¨toStringï¼èç¹çæ¾ç¤ºææ¬å°±æ¯toString
public String toString() {
return name;
}
}
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/0df431adcbef760930e5585e2bdda3cc7dd99e01?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)