任何人都可以在这里指出我正确的方向。我想最初说2个文本字段然后用户将能够点击“添加”按钮,并且将显示另外2个文本字段(这需要是动态的,因为用户可以点击一次或100次例如)
答案 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());
}
});
}
我不知道这是否会编译......这只是为了给你一个想法,不想为此开火...