java gwt null指针?

时间:2013-01-11 10:28:44

标签: java gwt null

我有以下代码:

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

怎么可能?

3 个答案:

答案 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 ); 
        ...
    }
}

干杯,