克隆一组小部件

时间:2010-10-07 17:44:53

标签: gwt

是否有可能在GWT中克隆一个面板?如果是这样,是否还复制了所有处理程序设置?

基本上我有一个完整的控件面板,所有布局,我想复制它并在PopupPanel中弹出它,而不必首先完成创建控件的代码。

我得到了DOM.clone()和这条消息post。但是在Widget,UIObject等中没有wrap().setElement()受到保护。

3 个答案:

答案 0 :(得分:3)

从DOM元素构建Widget的快速方法:

Widget widget = new Widget () {{
    setElement(myElement);
}};

但不,AFAIK DOM.clone()也不会复制附加的处理程序。我怀疑这不会像你希望的那样有效。

答案 1 :(得分:1)

您是否考虑过创建一个新的GWT小部件,其中包含所有这些控件?这样,您可以在两个位置托管窗口小部件面板,而无需克隆它。 (并且可能在此过程中为您节省微妙的错误。)

答案 2 :(得分:1)

创建一个新类,其中包含面板中的所有控件和其他功能,并将其视为新窗口小部件...现在您不必担心克隆它们,您可以将其用作常规窗口小部件在你的程序中(你可以像对待其他小部件一样初始化它)...这就是我开始我的一个项目,我试图克隆一个面板......