我在<div>
文件中有一个My.html
:
<html><head>
<script type="text/javascript" language="javascript" src="
path/biz.path.nocache.js"></script></head>
<div id = "div_test"> </div>
现在,我编写了一个
java
类,该类使用test division
获取Dom
。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
的内容。有什么我想念的地方吗?
最佳答案
什么是ContentContainer
?我在GWT库中找不到它。您的TestWidget
不会扩展GWT Widget类。因此,您不能将其用作窗口小部件。如果必须扩展ContentContainer
以满足您的编码需求,则可以实现GWT isWidget
接口,以使GWT知道它是一个小部件。