0

看哪,我的第一个 GWT 应用的EntryPointimpl:

public class MyModule implements EntryPoint {
    private SimplePanel mainPanel = new SimplePanel();

    @Override
    public void onModuleLoad() {
        // Extract all root-level dependencies from the injector.
        // Using Gin here.
        EventBus eventBus = injector.getEventBus();
        PlaceController placeController = injector.getPlaceController();
        SignInEventListener signInEventListener = injector.getSignInEventListener();
        PlaceHistoryMapper placeHistoryMapper = injector.getPlaceHistoryMapper();

        // Start the activity manager.
        activityManager = new ActivityManager(signInEventListener, eventBus);
        activityManager.setDisplay(mainPanel);

        // Start the place history mapper.
        placeHistoryHandler = new PlaceHistoryHandler(placeHistoryMapper);
        placeHistoryHandler.register(placeController, eventBus, startingPlace);

        // Add the main panel to the RootPanel.
        RootPanel.get().add(mainPanel);

        // Navigate to the place represented by the current URL, otherwise the startingPlace.
        placeHistoryHandler.handleCurrentHistory();
    }
}

几个问题:

  1. 我对placeHistoryHandler'sregister(...)方法的调用显示为已弃用。为什么不推荐使用它,它应该是什么(从 GWT 2.5.1 开始)?
  2. 每个模块有一个RootPanel /或者EntryPointRootPanel 每个 GWT 应用程序只有一个(不管你有多少模块)?
  3. mainPanel本身已添加到 的(上面)RootPanelAcceptsOneWidget传递给每个AbstractActivity#start方法的 之间的连接/关系是什么?
4

2 回答 2

2
  1. 看这里:不推荐使用 GWT:PlaceHistoryHandler.register?
  2. RootPanel 很可能是<body>元素。所以确实有一个。
  3. 在大多数情况下,您将添加一个AcceptsOneWidgetRootPanel. 您Activity必须创建其视图并将其设置为AcceptsOneWidget传递给start()

查看gwtproject.org 的活动和地点部分

于 2013-12-06T15:24:11.837 回答
0

1)见克里斯蒂安·库特巴赫的回答

2) 在您的 GWT 应用程序中,您应该有一个 MyModule.html 文件。此文件已被定义为 web.xml 文件中的欢迎文件。在此文件中,您将看到其中包含应用程序 MyModule.nocache.js 的 javascript 版本(在 gwt 编译之后)。Christian 所说的 RootPanel 是您的 html 页面的。请注意,您可以使用 RootLayoutPanel 或 RootPanel,具体取决于您是否要使用布局面板。

3) 当使用活动和地点时,活动管理器被赋予一个小部件容器。在这个小部件容器内,框架将在更改位置时放置新活动的视图。这就是

activityManager.setDisplay(mainPanel);

你是说当你从一个地方到另一个地方时,对应于那个地方的活动视图应该放在 mainPanel 中。

于 2013-12-26T23:15:46.087 回答