DigitalOcean, un eccezionale servizio di Cloud Hosting, da provare! Inoltre, suggerendolo puoi guadagnare :)

mercoledì 23 maggio 2012

Vaadin ed Embedded setSizeFull

Utilizzando Vaadin mi sono imbattuto in uno strano problema di layout col componente Embedded. In pratica, nonostante il componente fosse impostato con setSizeFull(), che equivale a setWidth("100%") e setHeight("100%"), verticalmente occupava solo una piccola parte dell'area disponibile.

Per risolvere il problema ho dovuto mettere il componente Embedded dentro un container VerticalLayout, impostando anch'esso con setSizeFull(). Vediamo un esempio:

Window subwindow = new Window("Titolo");
subwindow.setWidth("90%");
subwindow.setHeight("90%");
subwindow.setModal(true);


Embedded e = new Embedded("", new ExternalResource(url));
e.setType(Embedded.TYPE_BROWSER);
e.setSizeFull();


VerticalLayout layout = new VerticalLayout();
layout.setSizeFull();
layout.addComponent(e);
subwindow.setContent(layout); getWindow().addWindow(subwindow);
Problema risolto! Adesso il componente Embedded copre tutta l'area di subwindow :)

Nessun commento:

Posta un commento

DigitalOcean, un eccezionale servizio di Cloud Hosting, da provare! Inoltre, suggerendolo puoi guadagnare :)

Cerca su Wiki

Cerca su Google

Cerca nel Blog con Google