`
yonglin4605
  • 浏览: 188433 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

GXT中的MVC(2)

    博客分类:
  • GWT
阅读更多
下面看看Controller的部分代码
  /**
   * Registers the event type.
   * 
   * @param types the event types
   */
  protected void registerEventTypes(EventType... types) {
    if (supportedEvents == null) {
      supportedEvents = new ArrayList<EventType>();
    }
    if (types != null) {
      for (EventType type : types) {
        if (!supportedEvents.contains(type)) {
          supportedEvents.add(type);
        }
      }
    }
  }
  /**
   * Determines if the controller can handle the particular event. Default
   * implementation checks against registered event types then queries all child
   * controllers.
   * 
   * @param event the event
   * @return <code>true</code> if event can be handled, <code>false</code>
   *         otherwise
   */
  public boolean canHandle(AppEvent event) {
    if (supportedEvents != null && supportedEvents.contains(event.getType())) return true;
    if (children != null) {
      for (Controller c : children) {
        if (c.canHandle(event)) return true;
      }
    }
    return false;
  }


这里有贴了2个方法,一个是registerEventTypes(),表示注册事件。
如果我们要对初始化事件INIT进行处理,我们要先注册这个事件registerEventTypes(INIT);
那么当这个事件发生时,Controller就会接收到,可以进行相应的处理.
canHandle这个方法就是判断能否处理的,当你注册INIT事件后,他会把这个INIT对象放进supportedEvents 里面,canHandle里面迭代这个集合,如果存在,返回true表示需要处理,如果不存在,返回false表示不需要处理。

回头再看之前的Dispatcher类里面的dispatch方法,他会迭代controllers这个集合,调用它们的canHandler()方法,如果需要处理,则调用controller的handleEvent方法来处理。
为了把我们自己的controller添加到Dispathcer的controllers里面,我们还需要调用以下方法:
  /**
   * Adds a controller.
   * 
   * @param controller the controller to be added
   */
  public void addController(Controller controller) {
    if (!controllers.contains(controller)) {
      controllers.add(controller);
    }
  }

Dispathcher.get().addController(controller);
分享到:
评论

相关推荐

    GXT MVC design

    博客链接指向的可能是对如何在GXT项目中实现MVC模式的详细教程或讨论,但具体内容由于没有提供,我们无法深入探讨。通常,这样的教程会涵盖以下方面: - 如何组织GXT组件以符合MVC原则。 - 如何创建和使用事件监听器...

    基于GXT的RPC与MVC实现登录和退出功能

    GXT提供了丰富的UI组件和强大的数据绑定机制,而RPC(Remote Procedure Call)和MVC(Model-View-Controller)模式是GXT中常用的设计模式和技术,用于处理客户端与服务器之间的通信以及应用的结构组织。本文将深入...

    gxt初学进阶教程

    2. 在GWT项目中配置和引用GXT相关类库。 3. 将GXT自带的资源目录复制到项目中。 ### 搭建ExtGWT开发环境 开发环境的搭建是使用ExtGWT的第一步,这主要包括安装Eclipse IDE、下载GXT SDK以及安装GWT开发所需的...

    GXTMVC开发框架

    在GXT MVC中,模型类通过事件机制通知视图层数据的变更,确保数据的一致性。 2. **View(视图)**:视图层负责展示数据,并且通常与用户界面组件(如表格、按钮等)关联。在GXT中,视图由GXT组件构成,这些组件可以...

    ext gwt gxt初学教程

    - **配置Eclipse**:在Eclipse中,通过`Window &gt; Preferences`进入设置,选择`Java &gt; Build Path &gt; User Libraries`,创建一个新的用户库,命名为`GXT_2_2_5`,并添加适合当前GWT版本的GXT jar包。 - **创建GWT项目*...

    gxt、gwt与spring结合使用

    5. **MVC模式**:Spring MVC是Spring框架的一部分,可以用来构建后端控制器,与GXT或GWT的前端视图组件协同工作,实现模型-视图-控制器的设计模式。 在实际项目中,开发者通常会创建一个Spring Boot应用,配置好GXT...

    gxt-api-2.2.5 doc

    1. **组件库**:GXT提供了大量的UI组件,如表格(Grid)、树形视图(Tree)、菜单(Menu)、对话框(Dialog)等,这些组件在设计上遵循了MVC模式,易于定制和扩展。 2. **数据绑定**:GXT支持双向数据绑定,使得...

    GXT以及Web框架历史

    ### MVC架构在JSF中的体现 JSF采用MVC架构,其中组件是其核心部分。例如,`&lt;t:dataTable&gt;`组件用于显示数据列表,通过`rowOnClick`属性可以定义行点击时的事件处理函数,`&lt;h:column&gt;`则用于定义列的布局和内容。...

    org.liveSense.framework.gxt-1.0.5.zip

    GXT库允许开发者使用MVC模式进行开发,提供了大量的UI控件,如表格、网格、图表等,同时支持数据绑定和自动同步。 描述中提到 "org.liveSense.fragment.com.sun.image.codec.jpeg.zip,这个包扩展了系统包导出",这...

    springandgxtsample

    源码部分可以帮助读者理解如何在实际项目中应用Spring MVC和GXT,而工具可能包括构建脚本、IDE配置文件等,帮助开发者快速搭建环境。 在文件名称列表中,我们看到"springmvc",这可能是该项目的核心模块,包含...

    GWT ExtGWT 培训文档Gxt培训

    ExtGWT 提供了类似于桌面开环境的扩展组件包,GWT 的程序员可以轻松的使用他们就像 使用 GWT 组件一样。除此之外,ExtGWT 还具有强大的本地操作和远程调用的特性,同时 满足开发企业级应用程序的 MVC 架构需求

    SpringMVC学习笔记

    - **GXT的MVC模式**:GXT也采用了MVC设计,但它是客户端的MVC,用于处理用户界面。 - **数据绑定**:通过`ValueModel`和`DataStore`,GXT实现了服务器端数据与客户端UI组件的双向绑定。 - **RESTful服务**:...

    gwt入门项目代码

    4. **MVC模式**:GWT和GXT通常遵循Model-View-Controller设计模式,理解模型如何存储和管理数据,视图如何展示数据,以及控制器如何处理用户交互。 5. **API的使用**:在代码中查找GWT和GXT的API用法,例如数据绑定...

    springbyexample

    2. **Bean容器**:Spring容器管理着应用中的对象(称为bean),负责创建、配置、组装bean,并提供生命周期管理。 3. **AOP(面向切面编程)**:Spring支持切面编程,可以方便地实现日志记录、事务管理等横切关注点...

    GWT通信机制初探

    结合Spring框架,可以实现MVC架构,简化业务逻辑和持久层的集成,提供更好的企业级应用支持。 综上所述,文章可能会讨论以下知识点: 1. GWT RPC的工作原理,包括HTTP请求、JSON序列化和异步回调。 2. 如何定义和...

    GWT中文教程(入门进阶)

    6. **异步通信(GWT RPC)**:GWT提供了Remote Procedure Call (RPC)机制,使得客户端和服务器端可以进行高效的异步数据交换,这是GWT实现MVC模式的关键部分。 **进阶篇:深入GWT技术** 1. **模块化**:了解GWT模块...

    EXT控件实例以及CHM

    在提供的压缩包中,"extJAR"可能包含了EXT库的Java版本,这可能是EXT-JavaServerFaces(EXTJSF)或者EXT-GWT(GXT)的一部分。EXTJSF是EXT库与JavaServer Faces(JSF)框架的集成,使得开发者可以在JSF应用中使用EXT...

Global site tag (gtag.js) - Google Analytics