【IceFaces ice:tree相关知识】


如何构造一个Tree.
1、先实现一个树的根节点,该节点的类型是DefaultMutableTreeNode ,也就是不定型的树节点。为什么叫Mutalbe 不定型? 是因为这个节点既可以是叶子节点,也可以是父节点。该类的一个重要属性是userObject, 就是该节点所包含的数据对象;
2、增加根节点的子节点,通过treeNode.add方法来增加;
3、通过根节点构造树 JTree tree = new JTree(root);

另外一个比较重要的类是DefaultTreeModel, 这是Tree的数据模型,可以实现对节点的访问,对节点的操作,节点属性的判断等等;
其构造函数也很有意思 new DefaultTreeMode(TreeNode node), 可以对任何有子节点的Node构造其Model

树的外观构成:

DefaultIcon + NodeIcon + Label
 DefaultIcon + NodeIcon + Label
如下面所示:

- ¤ Root
  + ◆ Node

其中DefaultIcon的图标应该是系统自己指定的(在icefaces.jar中com.icesoft.faces.resources中,代码中imageDir="xmlhttp/css/xp"是被IceFace自动解析的),而NodeIcon需要指定三种情况下的图标都是什么;

IceFaces中树的每一个Node.userObject都由一个IceUserObject来表示。IceUserObject封装了树的BranchIcon, icon, text等等属性;
IceUserObject与TreeNode是紧密绑定的,是双向关联的,所以IceUserObject的构造函数具有一个参数,就是TreeNode  userObject = new IceUserObject(DefaultMutableTreeNode)
每个节点的Icon也是Mutable的,依赖于DefaultMutableTreeNode是否为叶子节点,所以在构造IceUserObject时,需要指明这三种情况用的图标都是什么(叶子节点时、分支节点打开时、分支节点收起来时)
 

你可能感兴趣的:(【IceFaces ice:tree相关知识】)