自定义布局不会显示在屏幕上

时间:2014-06-19 00:18:45

标签: java vaadin

我尝试通过将其复制到字母来完成本教程。

它没有完全正确的文件夹所以我只是将它们放在正确的文件夹中。

在我的/webapp/VAADIN/themes/mytheme/layouts文件夹中,我有my-layout.html文件。看起来像这样:

<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <div location="top" id="top"></div>
        <div>
            <span location="bottom" id="bottom"></span>
            <span location="left" id="left"></span>
        </div>
    </body>
</html>

在我的Java文件中,它看起来像这样:

@Override
protected void init(VaadinRequest request) {
    CustomLayout layout = new CustomLayout("my-layout");
    MenuBar menuBar = new MenuBar();
    layout.addComponent(menuBar, "top");
    layout.addComponent(new Button("Does Nothing"), "bottom");

    VerticalLayout vLayout = new VerticalLayout();
    vLayout.addComponent(new InlineDateField());
    vLayout.addComponent(new TextField("", "Nothing to put in here"));
    vLayout.setSpacing(true);
    vLayout.setMargin(true);
    vLayout.setVisible(true);

    layout.addComponent(vLayout, "left");
    layout.setVisible(true);
}

当我通过netbeans在Jetty服务器上运行它时,该站点不会显示任何元素。

1 个答案:

答案 0 :(得分:2)

您必须在UI中将布局设置为内容:

setContent(layout)