2

私は次のコードを持っています:

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

どうしてそんなことができるの?

4

3 に答える 3

4

Compositeウィジェットにへの呼び出しがありませんinitWidget()。もしそれがだったら、Widgetおそらくへの呼び出しが欠落しているでしょうsetElement()

https://developers.google.com/web-toolkit/doc/latest/DevGuideUiCustomWidgetsを参照してください

于 2013-01-11T11:02:30.300 に答える
2

addVerticalPanelウィジェットを引数として取るメソッド。ただし、クラスAはウィジェットを拡張しません。詳細と使用方法については、こちらを参照してください:http ://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/user/client/ui/ VerticalPanel.java?r=1288

于 2013-01-11T10:36:07.363 に答える
2

あなたのコードスニペットは少し単純すぎて実際にはわかりませんが、 GWTに追加できるのはWidget'sPanelだけなので、おそらくあなたのAクラスはWidget?それは確かにあなたの例にはありません。また、ウィジェットはsetElement(...)DOM部分を「アナウンス」するために呼び出す必要があります。

試す

public class A extends Widget {
    public String url;
    ...
    // etc

    public A(String url, String result) 
    { 
        setElement( whateverDOMelementYouHave ); 
        ...
    }
}

乾杯、

于 2013-01-11T10:36:28.433 に答える