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

GWT:从另一个类加载面板的内容,gwt,Gwt,我是GWT的新手,所以请容忍我 我试图在onModuleLoad中实现一个水平面板,左侧是一个简单的导航菜单 但是,我希望根据用户在导航菜单中选择的内容加载面板的右侧。这在一个大类中足够简单,但我希望为每个导航选项编写一个类 例如: 用户单击左侧菜单中的option1,从option1类实例化option1对象并将其添加到右侧窗格。 用户单击左侧菜单中的option2,从option2类实例化option2对象,并覆盖前面右侧窗格中的任何内容。 这可以在不为每个选项创建定制小部件的情况下完成吗

我是GWT的新手,所以请容忍我

我试图在onModuleLoad中实现一个水平面板,左侧是一个简单的导航菜单

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

例如:

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

如果是,怎么做?请帮忙

谢谢你的帮助


Harperonline

假设您使用的是HorizontalSplitPane,则可以执行以下操作:

备选案文2:

HorizPanel.getRightWidget().removeFromParent(); 
HorizPanel.setRightWidget( new Option2() ); 
备选案文1:

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

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

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


如果你想简化这个过程。您可以让您的各个内容类实现一个公共抽象类来处理所有公共工作。

谢谢。我喜欢这样的想法:HorizPanel.getRightWidget.removeFromParent;HorizPanel.setRightWidget新选项2;由于水平面板只有2个单元格,所以当用户在左侧导航菜单中选择新选项时,我可以在右侧面板中的单元格上跺脚。干杯很乐意帮忙!我也刚刚开始学习GWT,所以这对我来说非常有用。当做