我是新來的使用gwt,雖然我開始得到的東西的hang。。我今天遇到的一個令人困惑的情況如下。 (這是縮寫爲簡化我的問題)GWT擴展DecoratorPanel並添加到rootPanel
public class MyPanel extends DecoratorPanel{
public MyPanel(){
final TextBox tb = new TextBox();
tb .setText("test");
this.add(tb);
tb .setFocus(true);
}
}
public class ClassA implements EntryPoint(){
public void onModuleLoad(){
MyPanel mp = new MyPanel();
RootPanel.get("reference").add(mp);
}
}
出於某種原因在該行出現我的問題:
RootPanel.get("reference").add(log);
我得到一個空指針異常...堆棧的線上線在高於該線的點是:
java.lang.NullPointerException: null
at com.google.gwt.user.client.ui.Panel.doAttachChildren(Panel.java:163)
at com.google.gwt.user.client.ui.Widget.onAttach(Widget.java:259)
at com.google.gwt.user.client.ui.Widget.setParent(Widget.java:393)
at com.google.gwt.user.client.ui.Panel.adopt(Panel.java:119)
at com.google.gwt.user.client.ui.ComplexPanel.add(ComplexPanel.java:86)
at com.google.gwt.user.client.ui.AbsolutePanel.add(AbsolutePanel.java:80)
所以我認爲這將只是一個簡單的問題,但是,當我把所有的代碼MyPanel到ClassA的在onModuleLoad方法,只是創造了月oratorPanel在那裏,沒有空指針異常。這是爲什麼,我該如何解決它。這似乎是一個簡單的問題,但我不確定要走哪個方向。任何人有想法?
的零指示字例外發生在這條線在面板:
爲(迭代它=迭代(); it.hasNext();){
是的。它是可能的.onModuleLoad方法只是你的application.RootPanel.get().add(面板)的入口點可以在任何地方。如果你說RootPanel.get(「somediv」)。add(面板)就像它將搜索ID爲「somediv」的div。這就是它。將面板添加到RootPanel和onModuleLoad方法之間沒有關係。 – DonX