由于zk的tree没有获取节点path的api,于是实现下面这个函数来获取Treeitem节点的path
这样就能通过tree.renderItemByPath(path).setSelected(true)来打开指定的treeitem。
int[] getPath(Treeitem item) {
List<Integer> p = new ArrayList<Integer>();
while ((item instanceof Treeitem) && item.getLevel() >= 0) {
p.add(item.indexOf());
item = item.getParentItem();
}
int path[] = new int[p.size()];
for (int i = p.size() - 1; i >= 0; i--) {
path[p.size() - 1 - i] = p.get(i);
}
return path;
}
这样就能通过tree.renderItemByPath(path).setSelected(true)来打开指定的treeitem。