`

GWT 模块间:组件管理 & 事件处理

    博客分类:
  • gwt
阅读更多


原始的gwt开发模式在大型项目或复杂页面中并不适用,这促使了Gwt Hostpage模块的诞生。

 

 1.简介 & Features

GWT Hostpage 设计意图是:将页面/模块 真正组件化,不同页面按需要把相应模块装载进来。

提供功能:a.创建组件:页面可以随便创建导入module的component
          b.订阅模块的事件:不同模块间,可以相互通信,发布时间与订阅。

 

2.核心 & Demo 

2.1  how to create a component
  1. public class Index implements EntryPoint {       
  2.       
  3.     public void onModuleLoad() {       
  4.       
  5.         //the ModuleName , like Login.gwt.xml    
  6.         String loginModuleName = "com.test.user.login.Login";       
  7.                
  8.         //new a container to set the component(widget)    
  9.         SubModuleContainer container = new SubModuleContainer();       
  10.       
  11.         //you can use construct args to chose which component to create    
  12.         String args[] = {"LoginForm"};       
  13.       
  14.         //arg : moduleName ,componentId ,container element ,construct args    
  15.         HostpageFacade.createComponent(loginModuleName, "LoginComponent",       
  16.                 container.getElement(), args);       
  17.                
  18.         //add the container in Index module    
  19.         RootPanel.get().add(container);       
  20.       
  21.     }       
  22. }       

构造一个组件非常简单:模块名,构造参数。同时,给创建了的组件一个id,以及要放置的位置。

 

       2.2 把组件创建工厂往hostpage中注册。以便以他模块能获得该factory而创建

2.2  how to registe a component factory in Hostpage module   
  1. public class Entry implements EntryPoint {       
  2.       
  3.     //       
  4.     Exporter exporter = (Exporter) GWT.create(Exporter.class);       
  5.       
  6.     //module name    
  7.     String compTypeName = GWT.getModuleName();       
  8.       
  9.     public void onModuleLoad() {       
  10.            
  11.         // new a component facotry    
  12.         LoginuserFactory factory = new LoginuserFactory();       
  13.       
  14.         // registe to Hostpage module    
  15.         HostpageFacade.registerComponentFactory(compTypeName, factory);       
  16.       
  17.     }       
  18.       
  19.     //the factory extend a ComponentFactory    
  20.     class LoginuserFactory extends ComponentFactoryImpl {       
  21.       
  22.         //over write the getModuleName    
  23.         protected String getModuleName() {       
  24.             return GWT.getModuleName();       
  25.         }       
  26.       
  27.         //overwrite , create the component in LoginModule    
  28.         protected Widget createComponent() {       
  29.       
  30.             LoginMain loginComponent = new LoginMain(super.args);       
  31.       
  32.             super.registerComponent(exporter.doExport(loginComponent),       
  33.                     loginComponent.getElement());       
  34.       
  35.             return loginComponent;       
  36.         }       
  37.     }       
  38.       
  39.     public interface Exporter extends IExporter {       
  40.         JavaScriptObject doExport(LoginUserService factory);       
  41.     }       
  42. }      
  43.   

把组件创建工厂往hostpage中注册。以便以他模块能获得该factory而创建

 3.url

http://code.google.com/p/macaufly-gwt-tool/downloads/list

分享到:
评论
3 楼 lanyerzz 2011-12-13  
      
2 楼 windlike 2008-11-25  
高人,此人只应天上有
1 楼 newersky168 2008-10-27  
编译项目报
java.lang.ClassNotFoundException: com.macaufly.gwt.exporter.rebind.ExporterGenerator
这个错误。
找了好久不知道是什么问题?

相关推荐

    GWT学习文档

    - **基于组件的UI**:GWT提供了丰富的用户界面组件,如表格、按钮、面板等,可以方便地构建复杂的界面布局。 - **异步通信**:GWT支持AJAX,允许无刷新的页面更新和服务器通信。 - **本地化支持**:内置的国际化...

    GWT快速开发(GWT) 是一个Java软件开发框架用于开发类似于Google Maps和Gmail的AJAX应用程序。GWT的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等。你可以用Java编程语言开发你的界面,然后用GWT编译器将Java类转换成适合浏览器执行的...

    - **入口点(EntryPoint)**: 每个GWT模块都有一个主类,这个类必须实现`com.google.gwt.user.client.rpc.EntryPoint`接口,并且有一个`onModuleLoad()`方法作为应用程序的启动点。 2. **开发流程**: - 使用Java...

    GWT中文教程(入门进阶)

    1. **模块化**:了解GWT模块系统,如何创建和管理多个模块,以及如何在模块间共享代码。 2. **本地化**:学习GWT的本地化支持,包括多语言资源文件的创建和使用,以适应不同地区的用户需求。 3. **History和...

    gwt 练习 gwt学习

    5. **事件处理**:GWT中的事件处理机制允许用户与界面交互。你可以通过添加事件监听器来响应用户的点击、键盘输入等操作。 6. **RPC通信**:GWT的Remote Procedure Call (RPC)机制使得客户端和服务器之间能进行数据...

    gwt-polymer:使用聚合物的 GWT 模块

    我们正在尝试在这个项目中结合 GWT 和 Polymer: : (工作正在进行中)添加聚合物元素使用 Bower 安装新元素,例如core-toolbar元素: cd src/main/webapp/polymerbower install --save Polymer/core-toolbar使用--...

    GWT简介.docx

    8. **模块化系统**:GWT应用由多个模块组成,每个模块包含特定的功能,这使得代码组织更加清晰,便于维护和扩展。 9. **性能优化**:GWT的编译器会进行一系列优化,包括死代码消除、代码压缩、按需加载等,以减少...

    Ext GWT 2.0: Beginner's Guide

    事件处理是GUI编程的关键部分,书中详细解释了Ext GWT中的事件模型,如何注册事件监听器,以及如何处理各种用户交互事件。同时,书中还介绍了表单处理,包括字段验证、表单提交和响应处理,这对于构建用户输入密集型...

    GWT入门实例

    6. **事件处理**:学习如何在GWT中处理用户事件,如点击事件、键盘事件等,以及如何在Presenter中响应这些事件。 7. **GWT编译和调试**:理解GWT的编译过程,包括如何生成优化的JavaScript代码,以及如何在浏览器中...

    GWT开发环境JAVA

    3. **APIs**:GWT提供了大量JavaScript库,包括UI组件、事件处理、国际化、数据绑定、异步RPC通信等,这些APIs都是用Java封装的,方便开发者使用。 4. **Widget库**:GWT包含一个丰富的Widget库,涵盖了从按钮、...

    GWT入门教程的好东西啊

    GWT采用了一种类似于AWT/Swing的事件处理模型,支持多种事件类型: - **Click Events**:处理按钮点击事件。 - **Change Events**:处理表单字段更改事件。 - **Key Events**:处理键盘输入事件。 - **Mouse Events...

    java源码:网页表格组件 GWT Advanced Table.zip

    Java 源码:网页表格组件 GWT Advanced Table 是一个基于 Google Web Toolkit(GWT)开发的高级表格组件。GWT 是一个用于构建富互联网应用程序(RIA)的开放源码框架,它允许开发者使用 Java 语言来编写客户端的 ...

    GWTDemo

    2. **GWT 模块系统**: GWTDemo项目很可能由一个或多个GWT模块组成,每个模块定义了应用的一个部分。模块可以通过导入其他模块来共享代码,并且可以通过.gwt.xml配置文件进行定制。 3. **用户界面组件**: GWT提供了...

    GWT入门 GWT中文教程

    中级阶段可能涵盖事件处理、数据绑定、异步通信(RPC)和模块化;进阶内容可能包括自定义组件开发、性能优化以及EXT-GWT的高级特性。 “GWT快速开发”这部分教程则专注于提高开发效率,可能包含了GWT的开发工具、...

    GWT-API.rar

    这些文档是开发者学习和查找GWT相关功能的重要参考,比如Widget库(包含各种UI组件)、History类(用于处理浏览器的历史记录)、EventBus(事件总线)以及RequestBuilder(用于异步HTTP请求)等。 4. **编译与优化*...

    gwt-jar.rar

    7. **模块化**:GWT项目可以被划分为多个模块,方便管理和维护。 **GWT的使用流程:** 1. **创建项目**:使用GWT SDK和IDE创建一个新的GWT项目,定义项目的模块和依赖。 2. **编写Java代码**:在项目中编写Java类...

    GWT进阶教程

    5. **GWT EventBus**:事件总线机制,让组件间通信变得简单,提高代码解耦度。 6. **GWT RequestBuilder** 和 **GWT Elemental**:提供更灵活的HTTP请求处理方式,包括RESTful服务的调用。 7. **GWT Compile ...

    gwt实例,基于gwt-windows-1.5.2

    3. **事件处理**:GWT支持事件驱动编程,允许你为UI组件添加事件监听器,处理用户的交互行为。例如,点击按钮触发一个函数,提交表单等。 4. **数据绑定**:GWT的Data Binding机制使你可以方便地将UI组件的状态与...

    GWT-API 帮助文档

    1. **GWT模块和项目结构**:解释如何设置GWT项目,包括构建路径、源代码组织、模块配置文件(gwt.xml)等。 2. **Widget库**:详述GWT提供的各种UI组件,如Button、TextBox、Panel等,以及如何在HTML布局中使用它们...

Global site tag (gtag.js) - Google Analytics