package com.vaadin.tests.tickets; import com.vaadin.server.LegacyApplication; import com.vaadin.ui.AbstractOrderedLayout; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Button.ClickListener; import com.vaadin.ui.Component; import com.vaadin.ui.CustomComponent; import com.vaadin.ui.Layout; import com.vaadin.ui.LegacyWindow; import com.vaadin.ui.Panel; import com.vaadin.ui.TextField; import com.vaadin.ui.VerticalLayout; public class Ticket2221 extends LegacyApplication { @Override public void init() { LegacyWindow w = new LegacyWindow(getClass().getSimpleName()); setMainWindow(w); // setTheme("tests-tickets"); createUI((AbstractOrderedLayout) w.getContent()); } private void createUI(AbstractOrderedLayout layout) { layout.setSizeFull(); layout.addComponent(new Invoice()); } public class Invoice extends CustomComponent { Layout main = new VerticalLayout(); private TextField tf; private Panel outerPanel; private TextField tf2; public Invoice() { setSizeFull(); setCompositionRoot(main); main.setSizeFull(); Button b = new Button("Switch textfield/panel", new ClickListener() { @Override public void buttonClick(ClickEvent event) { Component visible = tf; if (tf.isVisible()) { visible = outerPanel; } outerPanel.setVisible(false); tf.setVisible(false); visible.setVisible(true); } }); main.addComponent(b); tf = new TextField("TextField"); tf.setHeight("1000px"); tf.setWidth("1000px"); VerticalLayout outerLayout = new VerticalLayout(); outerLayout.setMargin(true); outerPanel = new Panel(outerLayout); outerPanel.setCaption("A RichTextArea"); outerPanel.setVisible(false); outerPanel.setHeight("1000px"); outerPanel.setWidth("1000px"); outerLayout.setSizeFull(); VerticalLayout innerLayout = new VerticalLayout(); innerLayout.setMargin(true); Panel innerPanel = new Panel("Inner panel", innerLayout); innerPanel.setSizeFull(); outerLayout.addComponent(innerPanel); tf2 = new TextField("A 2000x2000 textfield"); tf2.setWidth("2000px"); tf2.setHeight("2000px"); innerLayout.addComponent(tf2); main.addComponent(outerPanel); main.addComponent(tf); } } }