获取Treeitem的path属性

由于zk的tree没有获取节点path的api,于是实现下面这个函数来获取Treeitem节点的path

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。

你可能感兴趣的:(zk)