如何在单击按钮后动态添加文本字段?

时间:2011-04-02 09:10:54

标签: java button wicket textfield

任何人都可以在这里指出我正确的方向。我想最初说2个文本字段然后用户将能够点击“添加”按钮,并且将显示另外2个文本字段(这需要是动态的,因为用户可以点击一次或100次例如)

1 个答案:

答案 0 :(得分:5)

因为它是检票口,所以应该是Java ...我会重申这一点,但我的帐户是新的......

将初始Textfields模型放入单个包装器对象中,并将其添加到列表中(因此只包含一个元素),并在ListView中显示此列表。在Button的onClick事件中,将另一个包装器对象添加到列表中并刷新ListView。

这样的东西
public class TwoTextFields {
    private IModel textFieldOne;
    private IModel textFieldTwo;

    [... constructor, getters setters here  ...]

public class MyPanel extends Panel {

   private List<TwoTextFields> list = new ArrayList<TwoTextFields>();

   public MyPanel(String id) {
       super(id);
       add( New ListView<TwoTextFields>("list", list) {

           @Override
           protected populateItem(Item<TwoTextFields> item) {
               add( new TextField("fieldOne", new PropertyModel(item, "textFieldOne");
               add( new TextField("fieldTwo", new PropertyModel(item, "textFieldTwo");
           }
      });
      add( new Button("button) {

           @Override
           protected void onClick() {
               list.add(new TwoTextFields());
           }
      });
}

我不知道这是否会编译......这只是为了给你一个想法,不想为此开火...