package com.vaadin.tests.tickets; import com.vaadin.server.LegacyApplication; import com.vaadin.ui.AbstractOrderedLayout; import com.vaadin.ui.Alignment; import com.vaadin.ui.Button; import com.vaadin.ui.GridLayout; import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.Layout; import com.vaadin.ui.Layout.AlignmentHandler; import com.vaadin.ui.LegacyWindow; import com.vaadin.ui.Panel; import com.vaadin.ui.VerticalLayout; public class Ticket1966 extends LegacyApplication { @Override public void init() { LegacyWindow w = new LegacyWindow(getClass().getName()); setMainWindow(w); // setTheme("tests-tickets"); w.setContent(new GridLayout(2, 2)); // w.getLayout().setSizeFull(); createUI((Layout) w.getContent()); } private void createUI(Layout layout) { orderedLayout(layout); gridLayout(layout); } private void gridLayout(Layout layout) { Panel p = new Panel("GridLayout"); layout.addComponent(p); GridLayout gl = new GridLayout(1, 4); gl.setMargin(true); gl.setCaption("Horizontal"); Button b; b = new Button("Wide button"); b.setWidth("500px"); gl.addComponent(b); addButtons(gl); p.setContent(gl); /* VERTICAL */ gl = new GridLayout(4, 1); gl.setMargin(true); gl.setCaption("Vertical"); addButtons(gl); b = new Button("High button"); b.setHeight("200px"); gl.addComponent(b); p.setContent(gl); } private void orderedLayout(Layout layout) { Panel p = new Panel("OrderedLayout"); layout.addComponent(p); AbstractOrderedLayout ol = new VerticalLayout(); ol.setMargin(true); ol.setCaption("Horizontal"); // ol.setWidth("100%"); Button b; b = new Button("Wide button"); b.setWidth("500px"); ol.addComponent(b); addButtons(ol); p.setContent(ol); /* VERTICAL */ ol = new HorizontalLayout(); ol.setMargin(true); ol.setCaption("Vertical"); addButtons(ol); b = new Button("High button"); b.setHeight("200px"); ol.addComponent(b); p.setContent(ol); } private void addButtons(Layout ol) { ol.addComponent(getButton(ol, Alignment.TOP_LEFT)); ol.addComponent(getButton(ol, Alignment.MIDDLE_CENTER)); ol.addComponent(getButton(ol, Alignment.BOTTOM_RIGHT)); } private Button getButton(Layout l, Alignment align) { Button b = new Button("Narrow Button - " + align.getHorizontalAlignment() + " - " + align.getVerticalAlignment()); b.setWidth("100px"); ((AlignmentHandler) l).setComponentAlignment(b, align); return b; } }