是否可以自定义JTree节点?

时间:2012-08-16 16:18:51

标签: java swing jcombobox jtree treecellrenderer

我想尝试实现这样的树: 树的每个节点都是一个自定义组件,它由JComboBox和JTextField组成。每次我在JComboBox中选择一个项目时,该节点将生成三个新的子节点作为叶子。

有可能吗?我尝试过使用TreeCellRender,但它似乎只是绘制了组合框和文本框,但组合框是不可选择的。

1 个答案:

答案 0 :(得分:2)

您要做的是编辑JTree。为此,渲染器是不够的。渲染器仅用于“渲染”JTree,因此仅在您拥有只读JTree时才足够。

如果您想编辑JTree后面的模型,则必须在其上设置编辑器。

the part about renderers and editors的Swing表教程中解释了无法选择组合框的原因。这同样适用于树(但该教程不包含这样的部分)。