我需要一个Swing组件,它允许我显示一个树形结构的项目列表,并允许用户选择或取消选择这些项目的任意子集,并能够选择或取消选择整个子树的值通过选择子树的父级来组件。 (基本上,类似于Eclipse“Export JAR file”的对话框(相关对话框的图像是here - 我基本上想要“选择要导出的资源”组件,但是对于Swing应用程序。)
alt text http://i40.tinypic.com/6ylbvr.jpg
我知道我可以通过创建自定义TreeCellRenderer,自定义TreeCellEditor和自定义TreeModel来实现这一点 - 但这似乎是一项非常多的工作。我可以使用任何好的现成实现吗?
谢谢!
答案 0 :(得分:2)
您还可以查看JIDE components,了解他们是否有类似内容。
答案 1 :(得分: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
答案 2 :(得分:1)
我会考虑NetBeans的Outline
。因为它来自JTable
,所以您可以指定包含子树和叶节点的多个选择。
outline.getSelectionModel().setSelectionMode(
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
附录:查看图片,您可以使用CheckRenderDataProvider
。