Estoy tratando de hacer una aplicacion tipo web la cual contenga cabecera, menu lateral, cuerpo y pie de pagina.
En HTML esto lo logro con los Iframe, pero hasta el momento no he encontrado nada parecido para vaadin, mi duda es de que forma puedo lograr esto, ya que de momento estoy trabajando con Layouts, especificamente VerticalLayout y HorizontalLayout.
al agregar una funcionalidad por ejemplo a un layout mas pequeño este se sale de los margenes establecidos, como puedo hacer para que quede solo dentro del espacio designado y en caso de que el componente sea mas grande al layout le aparesca automaticamente Scroll?
que componentes quieres en el menu ? parece que el header lo tienes bien… puedes incluso diseña mejor el layout completo como lo quieres y subes la imagen aqui…
he utilizado el libro de
Alejandro Duarte
y explica eso bastante bienn…
utilizando correctamente el setExpandRatio(); + HorizontalSplitPanel… y otros queda bastante bien…
por ejemplo el menu y contenido ambos siendo verticales. los introduces dentro de un HorozontalSplitPanel() … con su respectivo setSplitPosition(anchoMenu);
Muchas gracias por tu respuesta, estube viendo el HorizontalSplitPanel y me surgio una duda ahora, como ya habia mencionado la forma enque tengo mi Main page es solo con vertical y horizontal layouts, por lo que me dices estoy asumiendo que me recomiendas dentro de esas divisiones agregar panels y trabajar todos mis componentes dentro de panels verdad?
ahora reitero mi otra consulta en base a esta imagen
mas o menos te copio…recuerda primero diseñar bien tu framework Layout. tu esqueleto básico para trabajar en el …separando bien las clases cosas que aprendo aun. no soy experto…si solo tienes vertical y horizontal, recuerda que esto se trata de layouts dentro de layouts y eso debes tenerlo muy claro te pondré un ejemplo con la misma de arriba
cuando agregues la foto usa Add Attachment… “abres” la foto en otra pestaña del navegador y copias el link que te genera el uploader de vaadin, reEdita tu post insertando esa imagen con su URL la visualizas directo aquí [emoticon]
Fíjate lo que hice para lograr esto… este es el código del panel dentro del creo un label con un String…esto me prácticamente lo enseño
Alejandro Duarte
así mismo lo digo, pero el panel cuando se agrega en el contentLayout que es VERTICAL y su parent Layout es el HorizontalSplitPanel [emoticon]
,
“SIN” el panel ese label no se viera asi porque no me genera Scroll tampoco…aun no lo c cosa que debo mejorar…
fiejate en el return, retorna un objeto de tipo panel que es un (Component c), ese metodo lo invoco para que se cree en el contenLayout
public Panel getPanel() {
String someNumbers = "";
for( int i=0; i<2000; i++ ) {
someNumbers += " " +i;
}
Label content = new Label(someNumbers);
Panel p = new Panel(content);
p.setSizeFull();
p.setScrollTop(3000); // pixels from top
return p;
}
Muchisimas gracias por el consjo, ahora otra consulta si bien en html con los Iframe pones target=“iframeName” para cambiar al contenido de content, como se haria con los splitPanel, deberia volverlos static para llamarlos desde cualquier lado de la aplicacion y poder cambiar el contenido, o como seria?
Si, eso lo sabia, bueno de esa forma no pero algo parecido, en base a eso esque te pude mandar en las imagenes los bordes de como estaban compuestos cada layout.
Los antiguos layouts los cambie por vertical/HorizontalSplitPanels, me ayudaron muchisimo mas que los layouts muchas gracias por la recomendacion.