package com.vaadin.tests.layouts;
import com.vaadin.data.Property.ValueChangeEvent;
import com.vaadin.data.Property.ValueChangeListener;
import com.vaadin.tests.components.TestBase;
import com.vaadin.ui.CheckBox;
import com.vaadin.ui.FormLayout;
import com.vaadin.ui.TextArea;
public class FormLayoutWithInvisibleComponent extends TestBase {
private TextArea messages;
@Override
protected String getDescription() {
return "There is an initial invisible text field below the checkbox. Checking the checkbox should show the field as a textarea (40x10) and also show its caption(\"Messages visible\") and a required error (*).";
}
@Override
protected Integer getTicketNumber() {
return 2706;
}
@Override
protected void setup() {
FormLayout formLayout = new FormLayout();
CheckBox control = new CheckBox("Messages On/Off");
control.addListener(new ValueChangeListener() {
@Override
public void valueChange(ValueChangeEvent event) {
messages.setVisible((Boolean) event.getProperty().getValue());
messages.setRequired(true);
messages.setCaption("Messages visible");
}
});
control.setImmediate(true);
formLayout.addComponent(control);
messages = new TextArea("Messages hidden");
messages.setRows(10);
messages.setColumns(40);
messages.setVisible(false);
messages.setEnabled(false);
formLayout.addComponent(messages);
addComponent(formLayout);
}
}