This component is a replacement for the old Tree component. It has largely the same interface but renders the tree in a better way. In addition the code has seen a big cleanup.

The component looks like this:

In the picture above the orange icon and the text are part of the program (and defined by the user). The rest of the display is rendered by the tree.

The Tree2 component uses the same ITreeModel interface as the Tree component, so it should be easy to replace a Tree component.

The following is possible with a Tree2 component:

Demo link TBD