【发布时间】:2012-11-17 00:50:38
【问题描述】:
我有以下 GWT 类:
public class MyDefaultView extends Composite {
// Uses UiBinder and just contains all the widgets for this view.
}
public class MyDefaultActivity extends AbstractActivity {
@Inject
private MyDefaultView myDefView;
@Override
public void start(AcceptsOneWidget panel, EventBus eventBus) {
panel.setWidget(myDefView);
}
}
public class MyActivityMapper implements ActivityMapper {
@Override
public Activity getActivity(Place place) {
if(place instanceof MyDefaultPlace)
return new MyDefaultActivity();
else
return null;
}
}
public class MyAppModule implements EntryPoint {
@Override
public void onModuleLoad() {
// Lots of initialization and wiring...
// Why do I need this?!?
MyDefaultView myDefaultView = GWT.create(MyDefaultView.class);
RootPanel.add(myDefaultView);
Place myDefaultPlace = GWT.create(MyDefaultPlace.class);
PlaceHistoryHandler historyHandler = getHistoryHandler();
historyHandler.register(myPlaceController, myEventBus, myDefaultPlace);
historyHandler.handleCurrentHistory();
}
}
- 如果我只是要调用
PlaceHistoryHandler#handleCurrentHistory()并在模块加载时显示MyDefaultView,为什么我需要将MyDefaultView添加到RootPanel? - 如果我不应该将
MyDefaultView直接添加到RootPanel,那么我应该添加什么?
提前致谢!
【问题讨论】:
标签: java gwt widget gwt-places gwt-activities