我想尝试实现这样的树: 树的每个节点都是一个自定义组件,由一个JComboBox和一个JTextField组成。每次我在 JComboBox 中选择一个项目时,该节点都会生成三个新的子节点作为叶子。
可以这样做吗?我尝试过使用 TreeCellRender,但似乎它只是绘制组合框和文本字段,但组合框不可选择。
最佳答案
您要做的是编辑JTree
。为此,渲染器是不够的。渲染器仅用于“渲染”JTree
,因此仅当您有只读的 JTree
时才足够。
如果您还想编辑JTree
后面的模型,则必须在其上设置一个编辑器。
组合框不可选择的原因在 Swing 表教程 the part about renderers and editors 中进行了解释。 。这同样适用于树(但该教程不包含这样的部分)。
关于java - 是否可以自定义 JTree 节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11991502/