从另一个类向GWT水平面板添加内容

从另一个类向GWT水平面板添加内容,gwt,Gwt,我试图从另一个类(包含其他小部件)填充onModuleLoad()方法中使用的HorizontalPanel的右侧,以保持代码的独立性 我试图实现的与PHP include类似,我可以在另一个类中修改代码,它只会影响右侧面板 这个其他类必须是复合小部件吗?或者我可以做一件与创建Entry类时类似的事情吗?我不确定您是想在右侧面板上加载一个完全不同的GWT模块,还是只想加载一个不同的类。我认为是后者 在这种情况下,使用GWT选项卡面板,但应垂直放置。这是DeckPanel和Tabbar Panel

我试图从另一个类(包含其他小部件)填充onModuleLoad()方法中使用的HorizontalPanel的右侧,以保持代码的独立性

我试图实现的与PHP include类似,我可以在另一个类中修改代码,它只会影响右侧面板


这个其他类必须是复合小部件吗?或者我可以做一件与创建Entry类时类似的事情吗?

我不确定您是想在右侧面板上加载一个完全不同的GWT模块,还是只想加载一个不同的类。我认为是后者

在这种情况下,使用GWT选项卡面板,但应垂直放置。这是DeckPanel和Tabbar Panel的组合。在GWT中有标准的VerticalTabPanel可用,但您可以在开源cobogw库中找到,请参阅。在演示页面上可以找到包含源代码的示例:


该示例还使用了LazyPanel。这意味着每个类只有在用户单击链接时才会初始化,这使得启动速度更快。

只需将对horizontalpanel的引用添加到其他类(如控制器类或主面板类),然后从右侧面板调用该类。您甚至可以拥有一个控制器类,该类使用如下方法保存此静态horizontalpanel

HorizontalPanel hPanel; //set this from on module load, or controller.create method for instance
public static setRightContents(Panel panel){ 
hPanel.add(panel)
}
只需从另一个类
Controller.setRightContents(myNewRightPanel)
调用它

实际上,您只需要停止认为这是一个网站,开始更多地考虑使用甚至驱动编程的厚客户端应用程序