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

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):

主站蜘蛛池模板: 孟津县| 衡阳县| 濮阳市| 高青县| 潼关县| 醴陵市| 弥渡县| 浦江县| 松潘县| 玛多县| 阜康市| 措美县| 庆安县| 和田市| 抚顺县| 中西区| 黄大仙区| 黄浦区| 剑阁县| 高要市| 四会市| 沧州市| 江津市| 丹凤县| 伊宁市| 文昌市| 水城县| 酒泉市| 屏东县| 新建县| 顺平县| 鹿邑县| 望江县| 琼海市| 尚义县| 巴楚县| 花莲县| 蓝山县| 莲花县| 清河县| 资溪县|