Vaadin Grundlayout: feste Kopf- und Fußzeile + scrollbarer Inhalt
Ich bin neu bei Vaadin und versuche zu wissen, ob es meinen Anforderungen für eine Migration eines Webapp-Projekts entspricht. Eigentlich verliere ich schon meine Zeit mit einem einfachen Ziel: einem Layout mit festen Kopf- und Fußzeilen und einem scrollbaren Inhalt in der Mitte. Ich habe ein sehr einfaches Spiel mit dem gemacht, was ich will: jsfiddle
Hier ist die Hauptklasse von Vaadin, die ich mir ausgedacht habe:
public class MyVaadinUI extends UI {
// attributes
@WebServlet(value = "/*", asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, ui = MyVaadinUI.class, widgetset = "testvaadin.aep.com.AppWidgetSet")
public static class Servlet extends VaadinServlet {
}
@Override
protected void init(VaadinRequest request) {
buildMainLayout();
}
private void buildMainLayout() {
final VerticalLayout mainLayout = new VerticalLayout();
mainLayout.setSizeFull();
//HEADER
final VerticalLayout headerLayout = new VerticalLayout();
final Resource res = new ThemeResource("img/logo.png");
final Image image = new Image(null, res);
headerLayout.addComponent(image);
//CONTENT
final VerticalLayout contentLayout = new VerticalLayout();
for(int i=0; i<80; i++){
contentLayout.addComponent(new Button("TEST " + i));
}
//FOOTER
final VerticalLayout footerLayout = new VerticalLayout();
footerLayout.addComponent(new Label("--------------------------- footer --------------------------"));
mainLayout.addComponent(headerLayout);
mainLayout.addComponent(contentLayout);
mainLayout.addComponent(footerLayout);
mainLayout.setExpandRatio(contentLayout, 1);
setContent(mainLayout);
}
}
Die angezeigte Seite ist beim Start in Ordnung, aber wenn ich nach unten scrolle, scrollt auch die Fußzeile (dies ist nicht festgelegt).
Beim Start:
Wenn gescrollt:
Ich habe viele Seiten zu diesem Thema durchgesehen, aber ich habe nie eine richtige Antwort gefunden. Dies scheint in Vaadin ziemlich kompliziert zu sein, obwohl es in HTML sehr einfach ist; Vaadin entspricht möglicherweise nicht meinen Bedürfnissen. Weißt du überhaupt, wie ich dieses Verhalten erreichen kann? Vielen Dank