package com.vaadin.tests.layouts; import com.vaadin.tests.components.TestBase; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Button.ClickListener; import com.vaadin.ui.TextField; import com.vaadin.ui.VerticalLayout; @SuppressWarnings("serial") public class MovingInvisibleField extends TestBase { @Override protected void setup() { final VerticalLayout layout1 = new VerticalLayout(); final VerticalLayout layout2 = new VerticalLayout(); final TextField tfHidden = new TextField("Hidden text field caption", "A hidden text field"); final TextField tfVisible = new TextField("Visible text field caption", "A visible text field"); tfHidden.setVisible(false); Button b = new Button("Move hidden textfield to other layout"); b.addListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { if (layout1.getComponentIndex(tfHidden) != -1) { layout2.addComponent(tfVisible); layout2.addComponent(tfHidden); } else { layout1.addComponent(tfVisible); layout1.addComponent(tfHidden); } } }); layout1.addComponent(tfVisible); layout1.addComponent(tfHidden); addComponent(layout1); addComponent(b); addComponent(layout2); } @Override protected String getDescription() { return "Above and below the button is a VerticalLayout. Initially the first one contains two components: a visiable and an invisible TextField. Click the button to move the TextFields to the second layout, both should be moved but only the visible rendered."; } @Override protected Integer getTicketNumber() { return 5278; } }