急:JTree 添加节点问题

binxigogo 2008-06-03 10:23:14
jTree1 = new JTree(addTreeData());
jTree1.setEnabled(true);
jTree1.getSelectionModel().setSelectionMode
(TreeSelectionModel.SINGLE_TREE_SELECTION);
jTree1.setShowsRootHandles(true);
jScrollPane1.setViewportView(jTree1);
jTree1.setBounds(16, 5, 115, 168);
jTree1.setPreferredSize(new java.awt.Dimension(182, 232));
jTree1.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent evt) {
jTree1ValueChanged(evt);
}



private void 添加节点ActionPerformed(ActionEvent evt) {
机构类 机构 = new 机构类();
机构.setId("7");
机构.setName("add");
DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(机构);
treeModel = new DefaultTreeModel(top);
treeModel.insertNodeInto(childNode, top, top.getChildCount());
TreePath path=new TreePath(top.getPath());
jTree1.makeVisible(path);
//Make sure the user can see the lovely new node.
jTree1.scrollPathToVisible(new TreePath(childNode.getPath()));
System.out.println(treeModel.getChildCount(top));
}

这是树的大部分代码,System.out.println(treeModel.getChildCount(top));已经能输出长度每次加1就是在界面里显示不出来,不知道问题出在哪里,望赐教。
...全文
236 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
懒萝卜 2008-06-03
  • 打赏
  • 举报
回复
model.insertNodeInto(survey, root, root.getChildCount());

感觉这这个比较有用,其它都是静态的。
吐司vivi 2008-06-03
  • 打赏
  • 举报
回复
给你一段代码 自己看看

package temps;

import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;

public class myTreeExpand extends JFrame implements TreeExpansionListener {

DefaultMutableTreeNode C, node2, node3;

DefaultMutableTreeNode root = new DefaultMutableTreeNode("我的电脑");

JTree tree;

DefaultTreeModel model;

myTreeExpand() {
root.add(C = new DefaultMutableTreeNode("C:"));
root.add(node2 = new DefaultMutableTreeNode("D:"));
root.add(node3 = new DefaultMutableTreeNode("E:"));

C.add(new DefaultMutableTreeNode("file1"));
node2.add(new DefaultMutableTreeNode("file2"));

tree = new JTree(root);
tree.addTreeExpansionListener(this);
tree.setShowsRootHandles(true);
tree.setEditable(true);
add(tree);
model = (DefaultTreeModel) tree.getModel();
}

public void treeExpanded(TreeExpansionEvent e) {
System.out.println("展开");
}

public void treeCollapsed(TreeExpansionEvent e) {
System.out.println("收缩");
TreePath tr = e.getPath();

System.out.println(tr.getLastPathComponent());

DefaultMutableTreeNode survey = new DefaultMutableTreeNode("news");
model.insertNodeInto(survey, root, root.getChildCount());
}

public static void main(String[] args) {
myTreeExpand tree = new myTreeExpand();
tree.setSize(200, 200);
tree.setVisible(true);
tree.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
allenblade 2008-06-03
  • 打赏
  • 举报
回复
连方法也可以中文了...还是中英文混合的...第一次见到
吐司vivi 2008-06-03
  • 打赏
  • 举报
回复
o也是第一次看见 是不是jdk6都可以了~
IamHades 2008-06-03
  • 打赏
  • 举报
回复
............

变量用中文,罕见罕见。。。
hyl198611 2008-06-03
  • 打赏
  • 举报
回复
楼主 我现在也正在解决一个关于java树的问题 能给一个实例借鉴一下吗? 感激!
binxigogo 2008-06-03
  • 打赏
  • 举报
回复
我的问题已经解决了
变量可以用中文,具体jdk几里面的就不知道了,

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧