Terry.Li-彬

虚其心,可解天下之问;专其心,可治天下之学;静其心,可悟天下之理;恒其心,可成天下之业。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  143 随笔 :: 344 文章 :: 130 评论 :: 0 Trackbacks
1. 我们通过 xxx.gwt.xml中的:
        <entry-point
                class='com.huawei.iread.manager.frame.client.ModuleEntryPoint' />中进入我们预置的类:ModuleEntryPoint'中的 public void onModuleLoad()方法

      
   2. 主要通过分配器来进行页面的调整
       
        2.1 dispatcher中添加控制器controneller.
        2.2 controneller中注册各种事件的处理方式
        2.3 跳转到制定的页面只需要调用dispatch(注册的事件)
 
  详细代码如下所示:
  onModuleLoad方法:
       Dispatcher.get().addController(new FrameController());                //分配器添加控制器
      Dispatcher.get().addController(new WorkController());
      Dispatcher.get().dispatch(new EventType(FrameEvents.INIT));           //跳转到init事件的处理


  3.FrameController控制器中注册事件:

    //控制持有一个视图对象 view
     view = new FrameView(this);
         
     // 给控制器添加注册的事件
     registerEventTypes(new EventType(FrameEvents.INIT));

    
    控制器拥有一个事件的集合(LIST),及需要覆盖 public void handleEvent(AppEvent event)方法:
   该方法即是处理注册事件的方法.一般在其中处理页面跳转
     @Override
    public void handleEvent(AppEvent event)
    {
        GWT.log("FrameController event:"+event.getType().getEventCode());

        //该方法就是初始化控制器所持有的view的初始化 其中再调用handleEvent方法
        forwardToView(view, event);
    }
  
  4.view 对象
   
     4.1持有一个viewPoint对象,该对象继承之LayoutContainer,即属于容器类对象
    @Override
    protected void handleEvent(AppEvent event)
    {
            GWT.log("frame view code:"+event.getType().getEventCode());
        if (event.getType().getEventCode() == FrameEvents.INIT)
        {
            viewPort = new Viewport();
            viewPort.setLayout(new BorderLayout());
           
           //构建画面
            Registry.register("viewport", viewPort);
            Registry.register("north", north);
            Registry.register("south", south);
            Registry.register("west", west);
            Registry.register("center", center);
            viewPort.repaint();

           //添加容器
            RootPanel.get().add(viewPort);           
        }
    }
 
    4.2持有一个控制器对象crontroller
     

5 Registry对象

   维护一个map,将一些公用的容器添加到application级别的map中
posted on 2010-12-22 00:36 礼物 阅读(1130) 评论(0)  编辑  收藏 所属分类: Web前端

只有注册用户登录后才能发表评论。

网站导航: