我正在使用MVP模式创建GWT应用程序。我有一个使用DockLayoutPanel的索引页面。我有dockLayoutPanel的每个部分的视图和演示者(例如:NorthView和NorthPresenter)。我在中间面板上有四个按钮(NorthBtn,EastBtn,WestBtn,SouthBtn)。 onClick应该在dockLayoutPanel的相应部分中更改UI中的任何一个按钮。
入口点类:
@Override
public void onModuleLoad() {
RPCServiceAsync rpcService = GWT.create(RPCService.class);
HandlerManager eventBus = new HandlerManager(null);
AppController appViewer = new AppController(rpcService, eventBus);
appViewer.go(RootLayoutPanel.get());
}
AppController类具有历史管理和事件处理逻辑的逻辑。 (来自Google文章 - 要处理非特定于任何演示者的逻辑,而是驻留在应用层,我们将介绍AppController组件。)
例如,在中心面板中单击一个EastBtn我添加一个新的历史记录标记“east”,并调用onValueChange()方法。创建了相应的演示者和视图,例如EastView和EastPresenter: