首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在GWT中切换到不同的视图和控制器?

如何在GWT中切换到不同的视图和控制器?
EN

Stack Overflow用户
提问于 2010-09-02 21:17:29
回答 3查看 3.4K关注 0票数 1

我有一个用GWT编写的小部件。在EntryPoint的实现中,我让小部件加载一个控制器和一个绑定到该控制器的视图。我将这个视图添加到RootPanel中,它工作得很好。

代码语言:javascript
代码运行次数:0
运行
复制
public class EntryImpl implements EntryPoint {

  SimplePanel simplePanel;
  View view;
  Controller controller;
  public final void onModuleLoad()
    {
        controller = createController();
        view = createViewForController(controller);
        simplePanel = new SimplePanel();
        simplePanel.add(view);
        RootPanel.get().add(simplePanel);

    }
}

类似于上面的内容。现在,我想要更改视图和控制器,假设用户单击一个按钮来加载不同的视图。我尝试了添加Anchor和处理ClickEvent的方法,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
public void onClick(Widget sender) {
  simplePanel.remove(view);
  controller = createController();
  view = createViewForController(controller);
  panel.add(view);
}

这是做这件事的正确方法,还是有更好的方法?到目前为止,这对我不起作用--我的新视图没有显示出来。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-06 04:30:09

您可以使用DeckPanel并使用showWidget(index)方法切换视图。启用甲板面板的动画可以提高可用性。

票数 1
EN

Stack Overflow用户

发布于 2010-09-06 09:04:48

您的OnClick事件中的面板是什么?如果你只是想查看视图,你可以得到根面板并看到它RootPanel.get().add(视图),在基础HTML页面中添加一个div可能会达到你的目的,如果你有div,你可以通过RootPanel.get(“div”).add( view )在该div中添加你的视图...

票数 0
EN

Stack Overflow用户

发布于 2010-09-16 01:34:41

你可以使用mvp模式来控制视图转换(我还没有用过它)

http://code.google.com/intl/en/webtoolkit/articles/mvp-architecture.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3627446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档