JTree的问题,如何让我的JTree(共三层)一开始就展开并且指向某个叶子? tree.expandPath(new TreePath(treeModel.getPathToRoot(childNode))); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //n是你要打开叶子的位置tree.setSelectionPath(tree.getPathForRow(n));tree.expandPath(tree.getPathForRow(n)); 我写了个方法,你试一下:public void initTree() { // 得到根结点 DefaultMutableTreeNode root = (DefaultMutableTreeNode)tree.getModel().getRoot(); // 深度遍历整个树 Enumeration df = root.depthFirstEnumeration(); DefaultMutableTreeNode temp = null; while(df.hasMoreElements()) { temp = (DefaultMutableTreeNode)df.nextElement(); // 如果不是叶子节点,则展开此结点 if(!temp.isLeaf()){ tree.expandPath(new TreePath(temp.getPath())); } // 选中你想要的结点(假设此结点显示的名字为football) if(temp.toString().equals("football")) { tree.setSelectionPath(new TreePath(temp.getPath())); } }} 全部展开,然后选择某个节点DefaultMutableTreeNode root= (DefaultMutableTreeNode)tree.getModel().getRoot();expand(root);jtree.setSelectionRow(int);public void expand(DefaultMutableTreeNode node){if(node.isLeaf())return;int child=node.getChildCount();for(int i=0;i<child;i++) expand((DefaultMutableTreeNode)node.getChildAt(i));jtree.expandPath(new TreePath(jtree.getModel().getPathToRoot(node))); java命令不行找不到class 给树节点做下拉菜单 JDBC基础问题 关于instanceof 的问题 (高分哦)。 applet播放音频出现的java.lang.OutOfMemoryError 关于JDK1.5的疑问!!!! 又是一题scjp。 散分了,求各位觉得好的Java的电子书! 关于BASE64 编码解密的问题,高分求解 超级大菜鸟的问题!给大分! 请问daemon在java线程中 是什么意思 哪有think in java 的电子版书籍?
tree.setSelectionPath(tree.getPathForRow(n));
tree.expandPath(tree.getPathForRow(n));
public void initTree() {
// 得到根结点
DefaultMutableTreeNode root
= (DefaultMutableTreeNode)tree.getModel().getRoot();
// 深度遍历整个树
Enumeration df = root.depthFirstEnumeration();
DefaultMutableTreeNode temp = null;
while(df.hasMoreElements()) {
temp = (DefaultMutableTreeNode)df.nextElement();
// 如果不是叶子节点,则展开此结点
if(!temp.isLeaf()){
tree.expandPath(new TreePath(temp.getPath()));
}
// 选中你想要的结点(假设此结点显示的名字为football)
if(temp.toString().equals("football")) {
tree.setSelectionPath(new TreePath(temp.getPath()));
}
}
}
DefaultMutableTreeNode root= (DefaultMutableTreeNode)tree.getModel().getRoot();
expand(root);
jtree.setSelectionRow(int);public void expand(DefaultMutableTreeNode node){
if(node.isLeaf())return;
int child=node.getChildCount();
for(int i=0;i<child;i++)
expand((DefaultMutableTreeNode)node.getChildAt(i));
jtree.expandPath(new TreePath(jtree.getModel().getPathToRoot(node)));