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