簡體   English   中英

gwt動態添加文本框

[英]gwt dynamic adding textbox

 @UiHandler("addDynamicTextboxbutton")
  void addMoreTextbox(ClickEvent event) {


     textboxplaceholder.add(new TextBox(),"textboxplace");

 }

單擊addDynamicTextboxbutton按鈕時,將執行此方法並創建新的文本框。 如何有另一個按鈕,以便在單擊時將從每個“ textbox()”中獲取所有值? 還是有必要放置名稱“ new textbox(“ name”)“,以便我可以獲取其所有值? 最佳做法是什么?

如果textboxplaceholder是和延長的ComplexPanel ,例如FlowPanel你可以簡單地在子女迭代FlowPanel

for (Widget w: textboxplaceholder) {
   if (w instanceof TextBox) {
     // do something value: ((TextBox)w).getValue();
   }
}

您可以使用集合來存儲新添加的TextBox ,以后可以從中獲取所有值。 像這樣:

public class Test extends Composite {

    private static TestUiBinder uiBinder = GWT.create(TestUiBinder.class);

    interface TestUiBinder extends UiBinder<Widget, Test> {}

    @UiField
    FlowPanel textboxplaceholder;
    @UiField
    Button addDynamicTextboxbutton;
    private LinkedList<TextBox> boxes;

    public Test() {
        initWidget(uiBinder.createAndBindUi(this));
        boxes = new LinkedList<TextBox>();
    }

    @UiHandler("addDynamicTextboxbutton")
    void addMoreTextbox(ClickEvent event) {
        TextBox box = new TextBox();
        textboxplaceholder.add(box);
        boxes.add(box);
    }
}

遍歷存儲在boxes以獲取所有值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM