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

时间:2009-10-21 16:26:52

标签: gwt

我试图从另一个类(包含其他小部件)填充onModuleLoad()方法中使用的Horizo​​ntalPanel的右侧,以便将代码分开。

我想要实现的是类似于PHP包含的地方,我可以改变另一个类中的代码,它只会影响右侧面板。

这个其他类必须是复合小部件吗?或者我可以在创建Entry类时执行类似的操作吗?

2 个答案:

答案 0 :(得分:0)

我不确定您是否想要在右侧面板上加载完全不同的GWT模块,或者只是想加载不同的类。我假设后者。森。

在这种情况下,GWT TabPanel,但定位为垂直。这是DeckPanel和TabBarPanel的组合。在GWT中有标准的VerticalTabPanel可用,但您可以在开源cobogw库中找到一个,请参阅http://www.cobogw.org。可以在演示页面上找到包含源代码的示例:http://cobogw.googlecode.com/svn/demo/WidgetsDemo.html#VerticalTabPanel

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

答案 1 :(得分:0)

只需将对horizo​​ntalpanel的引用添加到其他类(如控制器类或主面板类),然后从右侧面板调用此类。你甚至可以拥有一个控制器类,它使用类似

的方法来保存这个静态horizo​​ntalpanel
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)调用此内容。

真的,你只需要停止思考这是一个网站,并开始考虑使用甚至驱动编程的胖客户端应用程序。