1

我需要一个 Swing 组件,它可以让我显示一个树结构的项目列表,并允许用户选择或取消选择这些项目的任意子集,并能够通过选择来选择或取消选择整个子树的组件价值该子树的父级。(基本上,类似于 Eclipse“导出 JAR 文件”对话框(相关对话框的图像在这里- 我基本上想要“选择要导出的资源”组件,但对于 Swing 应用程序。)

替代文字

我知道我可以通过创建一个自定义 TreeCellRenderer、一个自定义 TreeCellEditor 和一个自定义 TreeModel 来做到这一点——但这似乎是一项非常艰巨的工作。我可以使用任何好的现成实现吗?

谢谢!

4

3 回答 3

2

您还可以查看JIDE 组件,看看它们是否有类似的东西。

于 2010-06-10T18:29:30.837 回答
1

听起来你在谈论 JTree。它通常用于显示分层数据,例如文件结构,但可以对其进行修改以执行其他操作。

http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html

http://java.sun.com/javase/6/docs/api/javax/swing/JTree.html

于 2010-06-10T18:17:22.043 回答
1

我会考虑 NetBeans 的Outline. 因为它来自JTable,所以您可以指定多个选择,包括子树和叶节点。

outline.getSelectionModel().setSelectionMode(
    ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

附录:看你的照片,你也许可以使用 CheckRenderDataProvider.

于 2010-06-10T18:25:46.783 回答