Tag: jtree

如何为每个JTree节点添加不同的JComboBox?

我有一个JTree,我正在填写我正在编写的游戏数据库程序的技能。 有几个类别和子类别(实际技能),然后是水平技能(有时)。 目前我正在使用一个技能类,内部的一些选项和一些枚举来模拟这个,还有一个方法来检查技能是否属于一个类别(称为isCategory)。 还有两点需要注意: 不同类型的技能表现不同。 有些是一次购买,有几次购买,有些可以选择等 不同类别包含不同的技能。 例如,武器技能类别有不同类型的武器,但装甲技能在不同的部分。 我已经看到了通过单元格渲染器将ComboBox附加到树中每个节点的非常好的示例。 这是我找到的例子 。 我理解上面的代码,但我看不出如何将combobox附加到节点,而不是树? 我已经阅读了“ 如何使用树木 ”,并且我已经运行了,并查看了一些树的演示代码。 我可以制作基本的树,但是我发现教程有点迟钝,缺乏足够的细节来弄清楚自己如何继续。 我发现了另一个仅将叶节点渲染为复选框的示例 ,这要复杂得多。 显然我想把两者结合起来,能够拥有不同的类别,能够拥有不同的技能,不同的技能有不同的熟练程度。 然而,我能想到这样做的唯一方法是为不同的类型设置不同的JComboBoxModel但我不知道如何做到这一点,我无法找到方法。 我试图编辑复选框示例以使用ComboBoxes,但对于我的生活我无法理解。 有人可以给我一个提示,告诉我采取什么方法,因为我是Java的新手并且在努力弄清楚要做什么?

使用Jtree和Java中的文件列出文件和目录

我想用JTree创建一个非常简单的文件管理器,但我只看到一个非常难的代码,我想创建这个脚本非常干净和简单。 你能帮助我吗? 如何在JTree中列出计算机的目录?

从JTree中的文本文件动态填充树模型

我面临的问题是JTree的树模型。 我已将根节点定义为: javax.swing.tree.DefaultMutableTreeNode rootNode = new javax.swing.tree.DefaultMutableTreeNode(projectName); 当应用程序首次启动时,我希望创建并加载treeModel。 为此,我使用的是meta.txt文件,其中包含以下信息: 1QuotesPrice.Job 2QuotesPrice.Df 1Quotes.Job 2Quotes.Wf 3Quotes.Df 2Falkeblang.Wf 3Falkeblang.Df 第一列是级别,第二列是树的节点。 现在根据这些信息,我想创建树模型,但我在这里遇到了障碍。 我不确定应用于将上述节点添加到根节点的逻辑。 我尝试的每一件事似乎都有缺陷。 这里的问题是没有修复级别,所以我不能简单地使用if-else结构。 我使用以下代码: String treeMeta=this.projectsDir+”\\”+projectName+”\\”+”meta.txt”; DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode(projectName); File f1=new File(treeMeta); inputStream = new Scanner(f1); while(inputStream.hasNext()){ String val=inputStream.next(); System.out.println(“!@#$%”+val+”!@#$%”); treeNodePrev=treeNode; prevLevel=level; level=val.substring(0,1); nodeVal=val.substring(1); if(level.equals(“1”)){ prevNode=projectName; treeNode = new DefaultMutableTreeNode(nodeVal); System.out.println(“added to root node”); rootNode.add(treeNode); […]

将DefaultMutableTreeNode分配给JTree

我正在Netbeans中开发一个小型桌面应用程序。 我在我的JFrame上拖放一个JTree ,现在我想动态地填充这个JTree的节点层次结构。 为此我worte一个方法,它返回我DefaultMutableTreeNode对象。 现在我如何将此对象分配给我拖放的JTree

更改DefaultMutableTreeNode的文本样式

我创建了一个自定义JTree。 可以过滤该树以仅显示包含给定条件(字符串)的那些节点。 现在,有没有办法只扩展那个包含搜索字符串的DefaulMutableTreeNode部分? 如果树节点具有label =“StackOverflow”并且用户正在搜索包含“Stack”的节点,则“StackOverflow”节点将以“Stack”部分粗体呈现。 怎么实现呢?

JTree有不同颜色的树线?

是否有可能在两个兄弟节点之间有不同的彩色树线? 我想通过连接它们的蓝线来显示这两个节点是链接的。 但是整个JTree默认颜色是灰色或黑色的角度线。 某些节点之间可能有部分不同的彩色线条吗?

在最后修改区域扩展Jtree?

我正在使用dom4j从dom4j文档创建DocumentTreeModel。 我在JScrollPane显示了这个DocumentTreeModel。 我有一个按钮,为dom4j文档添加一个新节点,并重新创建DocumentTreeModel 我使用的是getPathForRow,但这看起来非常有限。 我需要能够使用多个树深度。 基本上寻找像tree.getPathOfLastModifiedChildrensParent()这样的东西 onAddNewNodeButtonClickEventFired { dom4jdocument.addElement( “1” ); tree.setModel(new DocumentTreeModel(dom4jdocument)); tree.expandPath(tree.getPathForRow(1)); } 基本上我每次编辑文档时都试图让Jtree重绘文档。

阻止JTree中节点扩展的节点选择

我创建了一个JTree ,其中一些节点是自定义的,以显示它们是可扩展的,尽管它们还没有任何子节点。 我已经按照这个线程来实现它。 为什么? 我想要动态加载树,所以当树扩展时,我从服务器检索更多信息并在树上显示它。 我遇到的问题是,当我展开其中一个节点时,它会被选中,这不是默认节点的默认行为(您可以在不更改树选择的情况下展开它们)。 如何解决这个问题以防止此节点在扩展时被选中?

Java:通过它的UserObject字段递归搜索TreeModel?

我有一个使用DefaultTreeModel的Jtree,每个单独的节点都包含一个包含各种字符串字段的UserObject。 我想通过执行递归遍历找到并选择一个节点,直到它找到DefaultMutableTreeNode,UserObject匹配其中一个字段并以编程方式选择该节点。 是否有任何涉及通过DefaultMutableTreeNode的UserObject字段进行搜索的示例?

java swing:为JTree项添加自定义图形按钮

我想在JTree中的项目右侧添加一个带有小图标的附加按钮。 可以这样做吗? 如果是这样,怎么样? 谢谢!