2010-01-08 17 views
6

का उपयोग कर विजेट को क्लोन करें, मैं प्रोग्रामिंग रूप से विजेट को क्लोन करना चाहता हूं। मैं Dom.clone के साथ विजेट के अंदर तत्व को क्लोन करने में सक्षम हूं लेकिन मुझे इस क्लोन तत्व से विजेट बनाने में सक्षम नहीं लगता है। क्या यह संभव है?GWT DOM.clone

 //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); 

क्या विजेट क्लोन करने का कोई और तरीका है?

उत्तर

9

buttonClone = Button.wrap(buttonCloneElement)

+1

मुझे लगता है मैं जावाडोक बेहतर खोज करने के लिए कैसे जानने की जरूरत:/ –

+0

मैं के माध्यम से दो ListBox विगेट्स है ** UiBinder ** * @ UiField ListBox lstHeaderSort; @UiField ListBox lstFooterSort; ** और मैं ** lstFooterSort = ListBox.wrap (DOM.clone (lstHeaderSort.getElement(), true) के रूप में रूपांतरित करता हूं; * लेकिन मुझे शून्य सूचक अपवाद मिला। क्यूं कर ? – Cataclysm

 संबंधित मुद्दे