为什么我的GWT窗口小部件和xml代码在网站上什么都不打印?

时间:2019-04-22 06:20:11

标签: gwt

我正在使用小部件和xml编写简单的GWT代码。该代码被格式化为一个嵌套的层次结构。


Demo类是入口点:

public class Demo4 implements EntryPoint {
    public void onModuleLoad() {
        UserDashBoard user = new UserDashBoard();
        RootPanel.get().add(user);
    }
}

班级库存和班级天气是正常的小部件:

public class Stock extends Composite{
    @UiField Button stocks;

    public Stock() {
        initWidget(stocks);
    }

    @UiHandler("stocks")
    void handleClick(ClickEvent e) {
        Window.alert("The price of stocks is xxx");
    } 
}


public class Weather extends Composite{
    @UiField Button weather;

    public Weather() {
        initWidget(weather);
    }

    @UiHandler("weather")
    void handleClick(ClickEvent e) {
        Window.alert("Weather is xxx");
    } 
}

我将UserDashBoard类设为一个Home小部件,其中包含所有其他小部件,并将其与xml文件绑定。

public class UserDashBoard extends Composite{
    private static final UserDashBoardUiBinder uiBinder = 
    GWT.create(UserDashBoardUiBinder.class);

    @UiTemplate("UserDashBoardUiBinder.ui.xml")
    interface UserDashBoardUiBinder extends UiBinder<Widget, UserDashBoard> {}

    public UserDashBoard() {
        initWidget(uiBinder.createAndBindUi(this));
    }
}

<!-- UserDashboard.ui.xml -->
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
  xmlns:g='urn:import:com.google.gwt.user.client.ui'
  xmlns:my='urn:import:come.my.app.client' >
  <g:HTMLPanel>
    <my:Weather ui:field="weather"/>
    <my:Stock ui:field="stocks"/>
  </g:HTMLPanel>
</ui:UiBinder>

这里的主要问题是当我运行项目时,我希望有两个按钮,但在网站上却找不到任何按钮,有人知道这里出了什么问题吗?
实际上,我是通过GWT文档学习GWT的,有趣的是GWT文档提供了许多有关UiBinder的解释,但没有发布任何完整的项目示例代码,这使我对实际的代码结构感到困惑。

0 个答案:

没有答案