首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何向每个JComboBox节点添加不同的JTree?

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

Stack Overflow用户
提问于 2012-08-03 10:57:31
回答 2查看 1.6K关注 0票数 0

我有一个JTree,我填补了一个游戏数据库程序的技能,我正在编写。

有几个类别,和子类别(实际技能),然后级别技能低于该水平(有时)。目前,我正在用一个技能类、内部的一些选项和一些枚举进行仿真,并使用一种方法来检查该技能是否是一个类别(称为isCategory)。还有两件事要注意:

  1. 不同类型的技能表现不同。 有些被买了一次,另一些被买了几次,有些有选择等。
  2. 不同的类别包含不同的技能。 例如,武器技能类别有不同类型的武器,但装甲技能是在一个不同的部分。

我看到了一个非常好的示例,它通过单元呈现器将ComboBox附加到树中的每个节点。这是我找到的示例

我理解上面的代码,但我看不出如何将组合框附加到节点,而不是树上?我读过“如何使用树木”,运行过,并查看了一些树演示的代码。我可以做一些基本的树,但是我觉得这些教程有点迟钝,并且缺乏足够的细节来为我自己弄清楚如何继续下去。我发现了另一个只将叶节点呈现为复选框的示例,这要复杂得多。

显然,我想把两者结合起来,能够有不同的类别,能够有不同的技能,不同的技能有不同的熟练程度。不过,我能想到的唯一方法是为不同的类型拥有不同的JComboBoxModels,但我不知道如何做到这一点,也不知道如何做到这一点。我尝试过编辑复选框示例以使用ComboBoxes,但对于我的一生,我无法理解它。

有人能给我一个提示吗?因为我刚接触Java,还在努力找出该做什么,能给我一个提示吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-03 19:33:28

会是一个好的起点吗?

从概念上说是的。JTableJTree都使用飞重模式来呈现和编辑单元格/节点。

  • 这个示例引用了一个基本的TreeCellRenderer
  • 示例使用默认呈现程序演示了一个简单的TreeCellEditor
  • 这个示例展示了一个集成了JTableJTree特性的Outline视图。

票数 1
EN

Stack Overflow用户

发布于 2012-08-03 11:25:42

您应该实现TreeCellRendererTreeCellEditor。两者都应该以不同的模型返回JComboBox。您应该根据值参数(实际上是树节点)在getTreeCellEditorComponent/getTreeCellRenderingComponent中决定选择哪种模型。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11794376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档