Code:
public class MyRepeatFieldGroup extends MultiField<Field> {
private LayoutContainer lc = new LayoutContainer(new FormLayout());
public BTRepeatEditorFieldGroup(final Field field) {
setOrientation(Orientation.VERTICAL);
lc.setLayoutOnChange(true);
lc.add(new MyRepeatField(cloneField(field)));
final LayoutContainer lc_btn = new LayoutContainer();
final Button btn = new Button("Add");
btn.setIconStyle("bt-icon-add");
btn.addSelectionListener(new SelectionListener<ButtonEvent>(){
public void componentSelected(ButtonEvent ce) {
lc.add(new BTRepeatEditorField(cloneField(field)));
}});
lc_btn.add(btn);
add(new AdapterField(lc));
add(new AdapterField(lc_btn));
}
}
Code:
public class MyRepeatField extends MultiField<Field> {
private Field field;
public MyRepeatField(Field field) {
this.field = field;
setHideLabel(true);
field.setHideLabel(true);
setOrientation(Orientation.HORIZONTAL);
add(field);
LabelField label = new LabelField(" ");
label.setHideLabel(true);
add(label);
final Button btn = new Button("Delete");
btn.setIconStyle("bt-icon-cancel");
btn.addSelectionListener(new SelectionListener<ButtonEvent>(){
public void componentSelected(ButtonEvent ce) {
MyRepeatField.this.removeFromParent();
}});
add(new AdapterField(btn));
}
public Object getRepeatValue()
{
return field.getValue();
}
public void setRepeateValue(Object obj)
{
field.setValue(obj);
}
}
In the class MyRepeatFieldGroup's cloneField method i want to clone another one,and display repeatly.