当前位置:  技术问答>java相关

给分问题:如何展开JTree中的节点,内在细说……在线,解决即给分……

    来源: 互联网  发布时间:2015-08-14

    本文导语:  小弟做了一个树形示图,可以在树形示图中添加新节点和删除节点。可是问题就在这儿:当添加完节点后,树形控件一马上显示新增的节点,而是点击其它节点时才有。如果加一个jTree1.updateUI();可以是可以不过树形控...

小弟做了一个树形示图,可以在树形示图中添加新节点和删除节点。可是问题就在这儿:当添加完节点后,树形控件一马上显示新增的节点,而是点击其它节点时才有。如果加一个jTree1.updateUI();可以是可以不过树形控件并不是展开的,而是退出根节点,要看新增的子节点,又得重新点击。
  我想问可不可以用语句展开树形控件,那样我只要在jTree1.updateUI();后加一句语句就搞定了。先谢先,记住我在线……

|
namowen(寒号不已):
小小不然:)
jTree1.expandPath(new TreeNode(yourNode.getPath()));


qqf(我就是我) :
〉〉树形控件一马上显示新增的节点,而是点击其它节点时才有。
  什么意思?

|
expandPath()方法可以展开节点。

|
这个问题没这么简单:
JTree只是用来显示的,数据结构却是放在TreeModel里的(一般都是DefaultTreeModel)。如果你用insertNodeInto()这个method,那么DefaultTreeModel被更新后,将自动更新JTree的显示,但它不会自动扩展新添node的parent,这也就是你的问题。

这里有一个解决办法:
1、要显示每个新添node,就要扩展从root到它的parent的每一个node。要有一个方法能够找到从当前新添的node到root这条tree path上的每一个parent;
2、可以用getPathToRoot()这个method,它返回一个TreeNode数组,保存了从新添node到root的所有node;
3、然后用makeVisible()将新添的node显示出来。

源代码:
TreeNode[] nodes = model.getPathToRoot(newNode);
TreePath path = new TreePath(nodes);
tree.makeVisible(path);
model就是object of DefaultTreeModel,tree就是object of JTree。

另外,如果你的tree用了滚动条,有必要用下面的语句替换掉上面最后一句代码:
tree.scrollPathToVisible(path);
这样就扩展path上的所有node,并且让滚动条移到新添node的位置。




|
这个问题我遇到过,解决方法如下:
DefaultTreeModel model = (DefaultTreeModel)jTree_project.getModel();
model.setRoot(root);
model.nodeStructureChanged(first_root);

|
用expandRow()吧,简单一点

    
 
 

您可能感兴趣的文章:

  • i节点的问题
  • RAC +GPFS添加节点的问题~~~~~~~~~~~~·
  • c语言链表节点信息修改的问题,求老者帮帮忙。
  • C# TreeView控件右键菜单获得当前节点的问题
  • 修改tree节点Title的问题
  • ext2文件系统的索引节点表问题
  • 用Xalan-java 2 进行节点查询的问题
  • 关于数的问题,数中的节点不能有中断吗,一定要连续吗?急。。
  • oracle更新xml节点问题的一些细节
  • U盘节点挂载问题
  • 关于/dev 设备节点的问题、、、???
  • 关于framebuffer设备节点问题的请教
  • 关于/dev 目录下添加设备节点的问题
  • mtd与mtdblock节点的对应问题
  • 关于无名管道释放后,inode节点释放的问题
  • 给多少是多呢?(关于JAXP的访问XML节点的初级问题)
  • 在xml中增加一个节点的问题
  • JTree是不是有问题?(在JTree中删除一个节点时)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • mysql iis7站长之家
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明
  • 死锁的问题 多级锁定问题 循环锁定问题
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [问题]双系统出现的问题!求问题的原因和解决办法!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 初学者问题。一个是编译hello world的问题,一个是配置ssh的问题
  • c/c++服务器程序内存泄露问题分析及解决
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • ​部署 Docker 前必须问自己的四个问题
  • swing的问题还是jbuiler的问题??
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 菜鸟第一次安装红帽子7.2的一箩筐问题。每个问题会开个帖子,各放100分!请有安装经验的老鸟们帮忙解决。第二个问题:什么是LILO?怎么样


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3