Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用包装器获取gwt树项上的隐藏信息_Java_Gwt_Tree - Fatal编程技术网

Java 使用包装器获取gwt树项上的隐藏信息

Java 使用包装器获取gwt树项上的隐藏信息,java,gwt,tree,Java,Gwt,Tree,我需要知道如何将我自己的对象设置为gwt树元素 我需要看到一个字符串,但同时我必须有一些关于特定树项的其他信息 谢谢大家。您可以扩展TreeItem并向其添加一些属性,例如: public class MyTreeItemWidget extends TreeItem { private int hiddenValue; public MyTreeItemWidget(String text, int hiddenValue) { setText(text);

我需要知道如何将我自己的对象设置为gwt树元素

我需要看到一个字符串,但同时我必须有一些关于特定树项的其他信息


谢谢大家。

您可以扩展
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;
    }
}
((MyTreeItemWidget) tree.getSelectedItem()).getHiddenValue()
然后您可以获取TreeItem,例如
tree.getSelectedItem()
。要获取附加属性,需要将其强制转换为
MyTreeItemWidget
。例如:

public class MyTreeItemWidget extends TreeItem {

    private int hiddenValue;

    public MyTreeItemWidget(String text, int hiddenValue) {
        setText(text);
        this.hiddenValue = hiddenValue;
    }

    public int getHiddenValue() {
        return hiddenValue;
    }
}
((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);
TreeItem root=newtreeitem();
root.setText(“根”);
对于(int i=0;i<10;i++){
MyTreeItemWidget项=新的MyTreeItemWidget(“节点”+整数.toString(i),i);
根.附加项(项);
}
最终树=新树();
addSelectionHandler(新的SelectionHandler(){
@凌驾
选举时公共无效(SelectionEvent事件){
Window.alert(“所选值为”+Integer.toString(((MyTreeItemWidget)event.getSelectedItem()).getHiddenValue());
//或者--
Window.alert(“所选值为”+Integer.toString(((MyTreeItemWidget)tree.getSelectedItem()).getHiddenValue());
}
});
树.附加项(根);
root.setState(true);

SelectionHandler
中,您可以从事件或树中获取所选的
TreeItem

您可以扩展
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;
    }
}
((MyTreeItemWidget) tree.getSelectedItem()).getHiddenValue()
然后您可以获取TreeItem,例如
tree.getSelectedItem()
。要获取附加属性,需要将其强制转换为
MyTreeItemWidget
。例如:

public class MyTreeItemWidget extends TreeItem {

    private int hiddenValue;

    public MyTreeItemWidget(String text, int hiddenValue) {
        setText(text);
        this.hiddenValue = hiddenValue;
    }

    public int getHiddenValue() {
        return hiddenValue;
    }
}
((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);
TreeItem root=newtreeitem();
root.setText(“根”);
对于(int i=0;i<10;i++){
MyTreeItemWidget项=新的MyTreeItemWidget(“节点”+整数.toString(i),i);
根.附加项(项);
}
最终树=新树();
addSelectionHandler(新的SelectionHandler(){
@凌驾
选举时公共无效(SelectionEvent事件){
Window.alert(“所选值为”+Integer.toString(((MyTreeItemWidget)event.getSelectedItem()).getHiddenValue());
//或者--
Window.alert(“所选值为”+Integer.toString(((MyTreeItemWidget)tree.getSelectedItem()).getHiddenValue());
}
});
树.附加项(根);
root.setState(true);

SelectionHandler
中,您可以从事件或树中获取所选的
TreeItem

查看我找不到任何相关文档。我必须实现一些具体的方法吗?怎么用?因为如果我实现了“asWidget”方法,我必须返回一个widget,但是所有的widget对我来说都是无用的。我需要实现我自己的对象,但我仍然不明白如何正确地将其设置为treeitem。我必须实现一些具体的方法吗?怎么用?因为如果我实现了“asWidget”方法,我必须返回一个widget,但是所有的widget对我来说都是无用的。我需要实现我自己的对象,但我仍然不明白如何正确地将其设置为treeitem。我不知道为什么我没有考虑之前的问题。非常感谢。我将尝试soonSorry,但它不起作用…我认为强制转换不起作用。当我单击树的某个节点时,不会出现任何警报窗口。如果我捕获到异常,则会有一些堆栈跟踪元素。例如,我看到在谈论未知对象时出现了一些错误。例如:Unknown.dynamicCast(…)我不知道为什么我没有考虑以前的问题。非常感谢。我将尝试soonSorry,但它不起作用…我认为强制转换不起作用。当我单击树的某个节点时,不会出现任何警报窗口。如果我捕获到异常,则会有一些堆栈跟踪元素。例如,我看到在谈论未知对象时出现了一些错误。例如:Unknown.dynamicCast(…)