com.supermap.ui
类 Layer3DsTreeCellRenderer

java.lang.Object
  继承者 com.supermap.ui.Layer3DsTreeCellRenderer
所有已实现的接口:
javax.swing.tree.TreeCellRenderer

public class Layer3DsTreeCellRenderer
extends java.lang.Object
implements javax.swing.tree.TreeCellRenderer

三维场景管理器控件的节点渲染类。

该类会判断是屏幕图层节点、普通图层或地形图层节点,根据用户的设置进行不同的渲染。

用户可以通过继承该类,重写 getTreeCellRendererComponent() 方法来实现自己的渲染。


构造方法摘要
Layer3DsTreeCellRenderer()
          默认构造函数,构造一个新的 Layer3DsTreeCellRenderer 对象。
 
方法摘要
 java.util.ArrayList<java.util.ArrayList<TreeNodeDecorator>> getDecoratorLists(NodeDataType type)
          返回指定 NodeDataType 类型节点的装饰器列表。
 java.awt.Component getTreeCellRendererComponent(javax.swing.JTree tree, java.lang.Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
          根据指定的参数,对三维场景管理器控件的节点进行渲染,并返回渲染结果。
 void setDecoratorLists(NodeDataType type, java.util.ArrayList<java.util.ArrayList<TreeNodeDecorator>> lists)
          对该渲染器中已有类型或者新增类型进行装饰器列表的设置和修改,来实现自定义节点图标的渲染。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

Layer3DsTreeCellRenderer

public Layer3DsTreeCellRenderer()
默认构造函数,构造一个新的 Layer3DsTreeCellRenderer 对象。

方法详细信息

getTreeCellRendererComponent

public java.awt.Component getTreeCellRendererComponent(javax.swing.JTree tree,
                                                       java.lang.Object value,
                                                       boolean selected,
                                                       boolean expanded,
                                                       boolean leaf,
                                                       int row,
                                                       boolean hasFocus)
根据指定的参数,对三维场景管理器控件的节点进行渲染,并返回渲染结果。

如果 selected 为 true,则将单元格作为已选择的单元格进行绘制;如果 expanded 为 true,则当前扩展该节点;如果 leaf 为 true,则该节点表示叶节点;如果 hasFocus 为 true,则该节点当前拥有焦点。tree 是为其配置接收者的 JTree。 返回渲染器用来绘制值的 Component。

默认提供可见图标、可选择图标和节点信息内容。

指定者:
接口 javax.swing.tree.TreeCellRenderer 中的 getTreeCellRendererComponent
参数:
tree - 要渲染的树。
value - 要渲染的节点(为 DefaultMutableTreeNode 类型),其 getUserObject(),会返回 LayersControlNodeData,用户可根据 LayersControlNodeData 的不同,进行不同的操作。
selected - 是否将单元格作为已选择的单元格进行绘制。
expanded - 是否扩展当前节点。
leaf - 该节点是否表示叶节点。
row - 指定渲染的行数。
hasFocus - 节点是否拥有焦点。
返回:
渲染器用来绘制值的 Component
实现:
通过 javax.swing.tree.TreeCellRenderer 方法来实现。

setDecoratorLists

public void setDecoratorLists(NodeDataType type,
                              java.util.ArrayList<java.util.ArrayList<TreeNodeDecorator>> lists)
对该渲染器中已有类型或者新增类型进行装饰器列表的设置和修改,来实现自定义节点图标的渲染。

参数:
type - 装饰器列表的对应类型。
lists - 用于存储装饰器的二维链表

getDecoratorLists

public java.util.ArrayList<java.util.ArrayList<TreeNodeDecorator>> getDecoratorLists(NodeDataType type)
返回指定 NodeDataType 类型节点的装饰器列表。

参数:
type - 对应类型节点的装饰器二维列表。
返回:
指定 NodeDataType 类型节点的装饰器列表。