正在获取GWT中选定树项的索引?

正在获取GWT中选定树项的索引?,gwt,Gwt,我正在尝试一个GWT应用程序。我有一棵树,上面有很多树上的项目。我想检索树中所选项目的索引。我看到树类没有像getSelectedElementIndex()这样的方法。是否有解决方法?渲染每个树项时,可以将索引存储为setLayoutData。需要时,可以从getLayoutData获取。任何对象都可以存储在这里。我希望这能解决您的问题。您可以通过addSelectionHandler注册和SelectionHandler。选择项时给定的事件返回选定的TreeItem对象 另外,Tree还有一

我正在尝试一个GWT应用程序。我有一棵树,上面有很多树上的项目。我想检索树中所选项目的索引。我看到树类没有像getSelectedElementIndex()这样的方法。是否有解决方法?

渲染每个树项时,可以将索引存储为setLayoutData。需要时,可以从getLayoutData获取。任何对象都可以存储在这里。我希望这能解决您的问题。

您可以通过
addSelectionHandler
注册和
SelectionHandler
。选择项时给定的事件返回选定的
TreeItem
对象


另外,
Tree
还有一个方法
getSelectedItem()
,它返回一个
TreeItem
。类
TreeItem
有一个方法
getChildIndex
,该方法获取
TreeItem
并返回索引。此外,使用
item.getParentItem().getChildIndex(item)
您应该获得该项的索引。

您可以编写自己的函数来完成此操作:

int getTreeItemIndex(Tree tree, TreeItem item)
{
    int count = tree.getItemCount();
    for (int i=0;i<count;i++)
    {
        TreeItem test = tree.getItem(i);
        if (test == item)
        {
            return i;
        }
    }
    return -1;
}
int getTreeItemIndex(树,树项)
{
int count=tree.getItemCount();

对于(int i=0;iI)而言,尽管导入了java.lang.object,但无法对TreeItem对象使用setLayoutData方法。是的,我错了。由于TreeItem是UIObject而不是小部件扩展,因此无法对TreeItem.item.getParentItem()调用setLayoutData方法,返回null。