我试图从另一个类(包含其他小部件)填充onModuleLoad()方法中使用的HorizontalPanel的右侧,以便将代码分开。
我想要实现的是类似于PHP包含的地方,我可以改变另一个类中的代码,它只会影响右侧面板。
这个其他类必须是复合小部件吗?或者我可以在创建Entry类时执行类似的操作吗?
答案 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)
只需将对horizontalpanel的引用添加到其他类(如控制器类或主面板类),然后从右侧面板调用此类。你甚至可以拥有一个控制器类,它使用类似
的方法来保存这个静态horizontalpanelHorizontalPanel hPanel; //set this from on module load, or controller.create method for instance
public static setRightContents(Panel panel){
hPanel.add(panel)
}
然后从其他课程Controller.setRightContents(myNewRightPanel)
调用此内容。
真的,你只需要停止思考这是一个网站,并开始考虑使用甚至驱动编程的胖客户端应用程序。