package com.vaadin.tests.components.customcomponent; import com.vaadin.tests.components.TestBase; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.CustomComponent; import com.vaadin.ui.GridLayout; import com.vaadin.ui.Label; public class CustomComponentGrowingContent extends TestBase { @Override protected void setup() { final Label label = new Label("Short content"); label.setWidth(null); addComponent(new CustomComponent() { { GridLayout mainLayout = new GridLayout(1, 1); mainLayout.addComponent(label); mainLayout.setSizeUndefined(); setSizeUndefined(); setCompositionRoot(mainLayout); } }); addComponent(new Button("Set long content", new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { label.setValue("Longer content that should be fully visible"); } })); } @Override protected String getDescription() { return "The width of the custom component should increase when its content grows"; } @Override protected Integer getTicketNumber() { return Integer.valueOf(7326); } }