我有一個<div>
在My.html
文件:如何在RootPanel上顯示GWT小部件?
<html><head>
<script type="text/javascript" language="javascript" src="
path/biz.path.nocache.js"></script></head>
<div id = "div_test"> </div>
現在,我寫了一個java
類使用Dom
其獲取test division
。
private void AddWidget() throws Exception{
_obj = new testWidget(this._session);
_obj.setSize("100%", "100%");
_obj.AddTestWidget();
RootPanel rootpanel = getViewRootPanel(div_test); // returns the division id
rootpanel.clear();
rootpanel.add(_obj);
}
和以下是TestWidget.java
:
public class TestWidget extends ContentContainer{
HorizontalPanel _base = new HorizontalPanel();
protected FlexTable _bill = new FlexTable();
Label lblTitle;
public TestWidget(Session s) {
super(s);
_base.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
_base.setWidth("100%");
initWidget(_base);
this._session= s;
_inheritwidget = new InheritWidget(session);
}
public Widget AddTestWidget() {
System.out.println("In widget");
lblTitle= new Label("Details");
lblTitle.setStyleName(Resources.INSTANCE.cssElements().labelBig());
lblTitle.getElement().getStyle().setPadding(3, Unit.PX);
_inheritwidget .setWidget(1, 0, lblBillingTitle);
_inheritwidget .setWidget(2, 0, billingWidget);
_base.add(_billing);
return _base;
}
}
其中InheritWidget
類是從ContentContainer
延長。 我也檢查控制檯,它顯示我In Widget
。這意味着代碼流是正確的。 請告訴我該怎麼做才能加載AddTestWidget
的內容在HTML div
。
有沒有我失蹤的部分?
getViewRootPanel()做什麼? ContentContainer的層次結構是什麼?交叉檢查你的代碼片段可能會誤導其他拼寫檢查。如果我們可以複製粘貼代碼片段來運行而不是第二次猜測您的問題,那很容易。 – SSR