GWT:从另一个类加载面板的内容

时间:2009-10-21 14:42:47

标签: gwt

我是一名GWT新手所以请耐心等待。

我正在尝试从onModuleLoad()中实现Horizo​​ntalPanel,其中左侧是一个简单的导航菜单。

但是,我希望根据用户在导航菜单中选择的内容加载面板的右侧。这在一个巨大的类中很简单,但我希望为每个导航选项编写一个类。

例如:

  1. 用户单击左侧菜单中的option1,从Option1类中实例化Option1对象并将其添加到右侧窗格。
  2. 用户单击左侧菜单中的option2,从Option2类实例化Option2对象,并覆盖之前右侧窗格中的任何内容。
  3. 这可以在不为每个选项创建定制小部件的情况下完成吗?

    如果是这样怎么样?请帮忙!

    感谢您的帮助!

    Harperonline

2 个答案:

答案 0 :(得分:0)

假设您正在使用Horizo​​ntalSplitPane,您可以执行以下操作:

选项2:

HorizPanel.getRightWidget().removeFromParent(); 
HorizPanel.setRightWidget( new Option2() ); 

选项1:

 Widget W = HorizPanel.getRightWidget(); 
 w.add( new Option1() ); 

除此之外,我不确定你究竟在问什么。您必须以某种方式跟踪要更新的元素。但GWT使您能够覆盖已创建的小部件,因此您所做的事情应该是不可能的。

答案 1 :(得分:0)

只需在GWT启动类上创建一个公共静态类Widget变量(public static Widget contentPanel = new VerticalPanel())。将此小组件添加到水平面板的右侧。然后,当您单击左侧导航时,您只需根据需要创建其每个类,并使类构造函数调用contentPanel.clear(),最后调用contentPanel.add()。

如果您想简化流程。您可以让各个内容类实现一个通用的抽象类来处理所有常见的工作。