java - 是否可以自定义 JTree 节点?

标签 java swing jcombobox jtree treecellrenderer

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

可以这样做吗?我尝试过使用 TreeCellRender,但似乎它只是绘制组合框和文本字段,但组合框不可选择。

最佳答案

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

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

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

关于java - 是否可以自定义 JTree 节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11991502/

相关文章:

java - 如何将 JScrollPane 添加到 JPanel

java - 无法将 ArrayList<String> 转换为 ArrayList<java.lang.String>

java - 使用 xpath 单击隐藏按钮时出现陈旧元素引用 : element is not attached to the page,

java - 使用 BackgroundTask 和 Facebook 的上下文

swing - ListView 上的 Scala Swing 弹出菜单

java - 如何在现有 JTable 的顶部添加一个表,其中一行由 JComboboxes 组成

java - 删除 JComboBox 中的突出显示

java - 使用 Callable 时出现奇怪的调用堆栈

java - Spring 启动 : Wrapping JSON response in dynamic parent objects

java - FilenameUtils.getExtension 比较返回 false