我在<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
的内容。
我遗失了哪些部分?
答案 0 :(得分:4)
什么是ContentContainer
?我无法在GWT库中找到它。您的TestWidget
不会扩展GWT Widget类。因此,您不能将其用作窗口小部件。如果您必须扩展ContentContainer
以满足您的编码需求,您可以实现GWT isWidget
接口,让GWT知道它是一个小部件。
答案 1 :(得分:0)
RootPanel.get().add(Your widget)