我有以下代码:
public class A extends Composite {
public String url;
public String result;
public A(String url, String result) {
this.url = url;
this.result = result;
}
public A someObject;
public VerticalPanel vp = new VerticalPanel();
public void init() {
someObject = new A(url, result);
someObject.setStyleName("style");
this.vp.add(someObject);
}
但是当我打电话给'this.vp.add(...)时,它说:
(TypeError): Cannot read property '__gwt_resolve' of null
怎么可能?
答案 0 :(得分:4)
您的Composite
窗口小部件错过了对initWidget()
的调用。如果是Widget
,可能会错过对setElement()
的调用。
请参阅https://developers.google.com/web-toolkit/doc/latest/DevGuideUiCustomWidgets
答案 1 :(得分:2)
add
的{{1}}方法将小部件作为参数。但是你的A类并没有扩展Widget。
有关更多信息以及如何使用,请参阅此处:http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/user/client/ui/VerticalPanel.java?r=1288
答案 2 :(得分:2)
您的代码段有点过于简单而无法说明,但您只能add Widget
's到GWT Panel
,所以您的A
课程可能不是Widget
?它肯定不在你的例子中。此外,小部件应该调用setElement(...)
来“宣布”它的DOM部分。
尝试
public class A extends Widget {
public String url;
...
// etc
public A(String url, String result)
{
setElement( whateverDOMelementYouHave );
...
}
}
干杯,