官术网_书友最值得收藏!

Time for action – the main layout

Let's start by coding the main layout using our well known friend VerticalLayout and the new guy HorizontalLayout:

  1. Create a new Vaadin project. For this example, we will use layout-framework as project name and LayoutFrameworkUI as the UI class.
  2. Create a new Java class MainLayout.
  3. Let MainLayout extend VerticalLayout:
    public class MainLayout extends VerticalLayout {
    
    }
  4. Add layouts for upper and lower sections of MainLayout:
    public class MainLayout extends VerticalLayout {
    
      private VerticalLayout upperSection = new VerticalLayout();
      private HorizontalLayout lowerSection = new     HorizontalLayout();
      private VerticalLayout menuLayout = new VerticalLayout();
      private VerticalLayout contentLayout = new VerticalLayout();
      
    }
  5. Add the following default constructor for MainLayout:
    public MainLayout() {
      upperSection.addComponent(new Label("Header"));
      menuSection.addComponent(new Label("Menu"));
      contentSection.addComponent(new Label("Content"));
      
      lowerSection.addComponent(menuLayout);
      upperSection.addComponent(contentLayout);
      
      addComponent(upperSection);
      addComponent(lowerSection);
    }
  6. Change the init method in your LayoutFrameworkUI class to match this:
    public class LayoutFrameworkUI extends UI {
    
      protected void init(VaadinRequest request) {
        setContent(new MainLayout());
      }
    
    }
  7. Compile, deploy, and run your application.

What just happened?

Let's get real; the application doesn't look very impressive so far:

We have created our very own layout class taking advantage of VerticalLayout. So our MainLayout is a VerticalLayout too, but now it contains a VerticalLayout for the header or upper section and a HorizontalLayout for the lower section which in turn contains a menu layout and a content layout, both using VerticalLayout. Layout, layout, layout, what a tongue-twister!

We have added some labels to see how our layout works.

Note

Note that when we add components into a HorizontalLayout they are placed from left to right.

Take a look at the components tree for MainLayout (we are showing only layout components):

主站蜘蛛池模板: 吉水县| 雅江县| 甘谷县| 新平| 卓尼县| 平利县| 边坝县| 苍溪县| 洪湖市| 杭锦后旗| 客服| 岳普湖县| 德钦县| 鲁山县| 榆树市| 罗定市| 七台河市| 通许县| 枞阳县| 德令哈市| 鹿邑县| 三江| 长葛市| 乃东县| 九江县| 贡觉县| 岚皋县| 陵川县| 枣庄市| 南安市| 绵竹市| 格尔木市| 鄯善县| 曲水县| 信阳市| 土默特左旗| 余干县| 三门峡市| 平舆县| 自治县| 屏边|