当前位置: 首页 > 面试题库 >

GWT使用DOM.clone克隆小部件

曹嘉许
2023-03-14
问题内容

我希望以编程方式克隆小部件。我可以使用Dom.clone在Widget内克隆Element,但似乎无法从此克隆的元素创建Widget。这可能吗?

        //somewhere in onModuleLoad()...        
    Button button = new Button("Original"); 
    RootPanel.get().add(button);

    //.....later on...
    Element buttonCloneElement = DOM.clone(button.getElement(), true);
    Widget buttonClone;

    buttonClone = new Button(buttonCloneElement);  //FAIL - No such constructor
    buttonClone.setElement(buttonCloneElement);    //FAIL - No such setter method

    //This may work but looks messy to me
    buttonClone.getElement().setInnerHTML(button.getElement().getInnerHTML());

    //add the clone to the root panel??
    RootPanel.get().add(buttonClone);

还有另一种克隆小部件的方法吗?


问题答案:

buttonClone = Button.wrap(buttonCloneElement)



 类似资料:
  • 问题内容: 很久很久以前有一堂课: 在对象中,我们有: 而Cloneable接口是: 我应该如何克隆呢? 问题答案: 我认为当前的绿色答案不好 ,为什么您会问? 它添加了很多代码 它要求您列出所有要复制的字段并执行此操作 当使用clone()时,这对列表不起作用(这是HashMap的clone()所说的:返回此HashMap实例的浅表副本:键和值本身不会被克隆。)因此您最终需要手动进行操作(这使得

  • 应用克隆 (用于已有服务,需要在另一个业务线下创建一个同样的服务,不需要重新创建) 服务/环境克隆(菜单栏:工具集->服务/环境克隆) 点击菜单栏,在项目列表中筛选您要克隆的项目,然后点击 克隆 ,弹框中选择您要克隆到哪个业务线。 选择目录空间,系统为在目标空间下生成该应用所需要的所有类型资源和Jenkins Job。

  • 本文向大家介绍为什么要使用克隆?相关面试题,主要包含被问及为什么要使用克隆?时的应答技巧和注意事项,需要的朋友参考一下 克隆的对象可能包含一些已经修改过的属性,而 new 出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来保存当前对象的“状态”就靠克隆方法了。

  • 我正在使用Symfony 2.3.4 在我的控制台上,我创建了sylius/sylius项目,在安装sensio/distribution捆绑包之前,我更喜欢dist 作曲家抛出此错误消息 我试过: > 编辑sylius/composer.json,并将seno/分布-包:2.3.修改为seno/分布-包:2.2.-dev 在C:\wamp\www\sylius中打开一个shell。将app/co

  • 我是一个使用开源的新手。我试图在这里从git构建和修改Servlet,但无法在eclipse中构建并托管在tomcat服务器上。 克隆时,repo的目录结构在这里 web.xml在WEB-INF文件夹中,它太小了,看不清楚,所以我裁剪了它。 从我所有的阅读来看,让这个服务器运行的最佳方法是在eclipse中创建一个空白的“动态Web项目”,然后将所有文件复制到其中。 这样做会为您提供项目的以下目录

  • 我正在ubuntu 14.04上试验lxc。为了管理几个lxc实例,我使用python3lxc。使用pyhthon3 lxc,我确实无法克隆现有容器: 相应地, /var/lib/lxc.vanilla_clone没有根基使用 很好。(python3和lxc克隆,两者都是从sudo开始的。)这是python3_lxc中的一个bug或限制,还是我遗漏了什么? 事后思考:使用lxc。容器create需