jjzjj

java - 加速展开/折叠 JTree 的所有节点

我有一个包含大约100000个或更多节点的JTree。现在我想展开整棵树。为此,我使用了我找到的解决方案here.我的问题是,展开这么大的树需要60秒或更长时间,这不是很方便。有人对我如何加快扩展有任何建议吗? 最佳答案 快捷方式:JTreejTree;for(inti=0;i 关于java-加速展开/折叠JTree的所有节点,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/190

java - 将 JTable 放入 JTree 中

与线程相关JtableasaJtreeNode我将JTable放入JTree,但JTreeView在启动时未正确呈现,我如何为JTablesetPreferredSize,因为PreferredScrollableViewportSize收缩JTable渲染TableHeader+一个Row,一个Row保持隐藏,但在展开Node之后(s)TreeRenderer更改并重新绘制setPreferredSize到预期的Dimensionimportjava.awt.*;importjavax.swing.*;importjavax.swing.table.DefaultTableModel

java - JTree 中的颜色行

我想为JTree中的元素着色。但是,仅向标签添加背景颜色看起来有点奇怪。特别是如果选择了多个节点,生成的形状看起来参差不齐且令人分心。有没有办法让背景延伸到树元素的整个宽度,从而使整行都变色?要么从左边界开始,要么从标签的开头开始,但肯定延伸到组件的右边界?这是一个独立的小演示,基于thisquestion.importjava.awt.*;importjavax.swing.*;importjavax.swing.tree.*;publicclassSO26724913{publicstaticvoidmain(String[]args){DefaultMutableTreeNode

java - JTree 线型和 Nimbus

我正在使用Nimbus外观和感觉。根据这个link,您应该能够使用JTree实现3种不同的线条样式:使用以下代码时:theTree.putClientProperty("JTree.lineStyle","Horizontal");我的JTree看起来像这样:它具有“无”样式而不是“水平”样式。知道为什么会这样吗?跟Nmbus有关系吗?设置该属性后是否需要调用一些特殊的东西?谢谢 最佳答案 我认为Nimbus不支持JTree.lineStyle属性。只有MetalLookAndFeel可以。查看javax.swing.plaf.sy

java - 有没有更好的方法来测试 JTree 节点扩展与否?

我想找到一个类似isNodeExpanded()的方法来检查给定的JTree节点是否展开,但我找不到。我知道我可以通过使用TreeExpansionListener跟踪节点扩展来做到这一点。有没有更好的办法? 最佳答案 JTree.java:/***Returnstrueifthenodeidentifiedbythepathiscurrentlyexpanded,**@parampaththeTreePathspecifyingthenodetocheck*@returnfalseifanyofthenodesinthenode'

java - 如何在 jtree 中搜索特定节点并展开该节点。?

我有一个包含100个节点的jtree。现在我想从那棵树中搜索特定节点并扩展该节点..?我该如何解决这个问题? 最佳答案 扩展@mKorbel的回答并在HowtoUseTrees中讨论,您可以递归地搜索您的TreeModel并获得指向结果节点的TreePath。一旦您有了所需的路径,就很容易在树中显示它。tree.setSelectionPath(path);tree.scrollPathToVisible(path);附录:这是“获取TreePath”的一种方法。privateTreePathfind(DefaultMutableT

java - 双击 JTree 节点并获取其名称

如何双击JTree节点并获取其名称?如果我调用evt.getSource(),返回的对象似乎是一个JTree。我无法将其转换为DefaultMutableTreeNode。 最佳答案 来自JavaDocsIfyouareinterestedindetectingeitherdouble-clickeventsorwhenauserclicksonanode,regardlessofwhetherornotitwasselected,werecommendyoudothefollowing:finalJTreetree=...;Mou

java - 更改 Nimbus LaF 处理 JTree 节点突出显示的方式

我一直致力于将Java应用程序从WindowsLookAndFeel转换到Nimbus,尽管Nimbus存在缺陷,但在很大程度上取得了成功。我的用户总体上喜欢NimbusLaF,但不喜欢某些细节,其中一些细节我通过查阅本网站上的先前问题进行了更改。示例:我从WindowsLaF(他们喜欢)复制了LeafIcon、ClosedIcon和OpenIcon,并在Nimbus版本中使用它们,以获得LaF的完美组合。卡在最后一个(?)问题上。我有一个带有子类DefaultCellRenderer的JTree来创建适当的节点显示。这在WindowsLookAndFeel下工作正常。问题:在Wind

java - 有没有办法在 JTree 中为多个根添加扩展器图标?

我有一个具有多个“根”的JTree(当然,我实际上有一个不可见的具有多个子节点的真实根)。节点在双击时展开和折叠,但没有视觉指示表明您可以执行此操作,因为没有展开器图标。默认情况下树是折叠的,这使情况变得更糟,但扩展“根”并没有真正帮助,因为每个都有很多child,看起来很杂乱。有没有办法显示扩展器图标而不使真正的(完全没有值(value)的)根可见?欢迎提出任何其他使显示更清晰的建议。 最佳答案 会tree.setShowsRootHandles(true)成为goodwaytodisplay那些“扩展器图标”?Atreetypi

java - 如何将复选框添加到 JTree 节点以管理多选?

我想构建JTree,它的节点包含复选框+图标+数据和树选择算法。 最佳答案 这是演示如何将复选框添加到Jtree节点的完整示例。我将JTree与基于文件系统内容的节点一起使用。我还使用AddCheckBoxToTree.CheckTreeManager类来管理选择或半选择选项。使用publicAddCheckBoxToTree.CheckTreeManagergetCheckTreeManager(){returncheckTreeManager;}选择树路径的方法。例如://clearallselectedpathinorderT