GXT:如何动态添加/删除FormPanel到面板?

时间:2012-08-24 07:32:48

标签: java user-interface web gxt

任何人都可以共享代码段或指导我如何基于某些事件动态地向中央面板添加/删除表单。

需要根据事件在运行时动态创建表单。 GXT文档没有明确提到这一点,我也无法从示例中获得太多帮助。

通过在abc.html中使用,我能够使用RootPanel.get(“foo”)获取对它的引用,并动态添加一个表单。但是我觉得这不是一个好的设计而且非常严格。

我也尝试了以下选项,但它们不起作用。我可能错过了一些概念......感谢任何帮助。

方法1.

ContentPanel cp ... //available as a reference (design time)

addForm(....) {
    FormPanel fp = new Formpanel();
    ......
    cp.add(fp); 
}

方法2。

ContentPanel cp = new ContentPanel(); //design time
cp.setId("xyz");
.....

addForm() {
    FormPanel fp = new Formpanel();
    ......
    RootPanel.get("xyz").add(fp);
}

2 个答案:

答案 0 :(得分:0)

恕我直言,您应该在方法2的html文件中添加<div id="xyz"></div>。您的表单面板将直接呈现给此div。所以不要忘记指定它的宽度和高度btw。

答案 1 :(得分:0)

实际上,添加一个layout()方法就可以解决这个问题。

ContentPanel cp ... //available as a reference (design time)

addForm(....) {
    FormPanel fp = new Formpanel();
    ......
    cp.add(fp);
    **cp.layout();**
}