如何在RootPanel上显示GWT小部件?

时间:2012-12-09 13:56:01

标签: java html gwt gwt-widgets

我在<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的内容。

我遗失了哪些部分?

2 个答案:

答案 0 :(得分:4)

什么是ContentContainer?我无法在GWT库中找到它。您的TestWidget不会扩展GWT Widget类。因此,您不能将其用作窗口小部件。如果您必须扩展ContentContainer以满足您的编码需求,您可以实现GWT isWidget接口,让GWT知道它是一个小部件。

答案 1 :(得分:0)

RootPanel.get().add(Your widget)