我需要知道如何将自己的对象设置为gwt TreeItem。
我需要看一个字符串,但同时我必须有一些关于该特定TreeItem的其他信息。
感谢大家。
答案 0 :(得分:0)
您可以扩展TreeItem
并为其添加一些属性,例如:
public class MyTreeItemWidget extends TreeItem {
private int hiddenValue;
public MyTreeItemWidget(String text, int hiddenValue) {
setText(text);
this.hiddenValue = hiddenValue;
}
public int getHiddenValue() {
return hiddenValue;
}
}
然后你可以获得TreeItem,例如tree.getSelectedItem()
。要获取其他属性,您需要将其强制转换为MyTreeItemWidget
。例如:
((MyTreeItemWidget) tree.getSelectedItem()).getHiddenValue()
这是一个简单的示例代码:
TreeItem root = new TreeItem();
root.setText("root");
for(int i = 0; i < 10; i++) {
MyTreeItemWidget item = new MyTreeItemWidget("Node " + Integer.toString(i), i);
root.addItem(item);
}
final Tree tree = new Tree();
tree.addSelectionHandler(new SelectionHandler<TreeItem>() {
@Override
public void onSelection(SelectionEvent<TreeItem> event) {
Window.alert("Selected value is " + Integer.toString(((MyTreeItemWidget) event.getSelectedItem()).getHiddenValue()));
// -- or --
Window.alert("Selected value is " + Integer.toString(((MyTreeItemWidget) tree.getSelectedItem()).getHiddenValue()));
}
});
tree.addItem(root);
root.setState(true);
在SelectionHandler
中,您可以从活动或树中获取所选的TreeItem
。