自己写一个TreeView的渲染器不就行了?
SWING中的这种设计比比皆是,非常有用的。
先看看JAVA API中的一段文字:
To use JTree to display compound nodes (for example, nodes containing both a graphic icon and text),
subclass TreeCellRenderer and use
setCellRenderer(javax.swing.tree.TreeCellRenderer) to tell the tree to use it.
To edit such nodes, subclass TreeCellEditor and use setCellEditor(javax.swing.tree.TreeCellEditor).
再请看TreeCellRenderer的方法:Component getTreeCellRendererComponent()
这个方法就是告诉SWING,应该如何显示TreeView中的每一个ITEM的。在这里,你可以返回
一个Panel,里面包括一个checkbox,和需要显示的其它内容。
建议你先看看JDK中关于JList的例子,很简单的实现了在JList中显示图像,比较生动,JTree
的用法也是类似的。