Can I add or remove children of a node on the fly?
Yes. Have your node subclass AbstractNode or whatever else you like.
NB 6 > m9 Specific:
Implement ChildFactory
. To create the Children
object for your Node, pass it to Children.create()
. When the child list needs updating, call refresh()
on your ChildFactory
. Its createKeys
method will be called again and you can update the set of key objects as needed; Nodes for objects that remain in the list of keys will simply continue to exist; additions and removals will be handled.
NB 5 And Earlier:
Have your Children
object subclass Children.Keys.
As needed, call setKeys()
on the Children.Keys
object.
Just by passing a larger or smaller (or reordered) list of keys, you will be adding or removing (or reordering) children.
Do not ever try to add/remove children from a node you did not create (unless it has an API that explicitly gives you permission to do that); occasionally people try to add child nodes to nodes for things like Java files. If it works at all it’s by accident.
Applies to: NetBeans 4.0, 4.1, 5.0