在GWT树中显示打开的节点

在GWT树中显示打开的节点,gwt,Gwt,我创建了一个GWT树,我希望它最初显示为打开的节点。让我们以标准为例: 我希望它最初显示为: root item0 item1 item2 item3 对于上面的例子,我没有得到预期的效果。显然,当我执行root.setState(true)时,没有任何变化或根设置状态(false):树始终在其节点关闭的情况下显示 如何获得所需的行为?对setState()的调用取决于对TreeItem和Tree的方法调用顺序(如上所述) 根据经验,在将所有项目添加到树项中之后,以及在将根项目添

我创建了一个GWT树,我希望它最初显示为打开的节点。让我们以标准为例:

我希望它最初显示为:

root item0 item1 item2 item3 对于上面的例子,我没有得到预期的效果。显然,当我执行
root.setState(true)时,没有任何变化
根设置状态(false):树始终在其节点关闭的情况下显示

如何获得所需的行为?

setState()
的调用取决于对
TreeItem
Tree
的方法调用顺序(如上所述)


根据经验,在将所有项目添加到
树项中之后,以及在将根项目添加到
树中之后,在发布问题之后,我找到了一种几乎可以完成我想要的事情的方法:我必须调用
t.setSelectedItem(项目)
选择根节点下的一个项目,然后调用
t.ensureSelectedItemVisible(),它“确保当前所选项目可见,打开其父项并根据需要滚动树”。有没有其他方法可以在不显式选择项的情况下执行此操作?
root.setState(true)
对我来说很好(GWT 2.0.4和FF)。你能给我们一些关于版本和浏览器的信息吗?我正在使用GWT2.0.3和Firefox3.6.10。这可能是GWT2.0.3中的一个bug吗?刚刚用2.0.3和FF 3.6.10对它进行了测试,它仍然有效。似乎不是一只虫子。你在新创建的GWT项目中测试了代码吗?我知道了!诀窍是在将
root
添加到树之后,即在调用
t.addItem(root)之后,必须调用
root.setState(true)
。如果你以前做过,它就不起作用了。 root item0 item1 item2 item3
root.setState(true);