@Override
  protected void beforeFooterRender() {
    titleArea = new Composite(super.contentArea);
    titleArea.setLayoutData(gdTitle);
    titleArea.setLayout(glTitle);

    // do title render
    SheetTitleComposite titleCmp = new SheetTitleComposite(titleArea);
    GridData gdTitle = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_CENTER);
    gdTitle.widthHint = 330;
    titleCmp.setLayoutData(gdTitle);
    titleCmp.setID(AbstractFormProcessor.ID_SheetTitleComposite);
    SheetNumberComposite codeCmp = new SheetNumberComposite(titleArea);
    GridData gdCode =
        new GridData(GridData.HORIZONTAL_ALIGN_CENTER | GridData.VERTICAL_ALIGN_BEGINNING);
    codeCmp.setLayoutData(gdCode);
    codeCmp.setID(AbstractFormProcessor.ID_SheetNumberComposite);

    // do header render
    Composite headerArea = new Composite(contentArea);
    headerArea.setLayoutData(gdHeader);
    headerArea.setLayout(glHeader);

    headerLeftArea = new Composite(headerArea);
    headerRightArea = new Composite(headerArea);

    headerLeftArea.setLayoutData(h_gdLeft);
    headerRightArea.setLayoutData(h_gdRight);

    headerLeftArea.setLayout(headerAreaLayout);
    headerRightArea.setLayout(headerAreaLayout);

    // do content render
    fillContent();
  }
 @Override
 protected void afterFooterRender() {
   super.afterFooterRender();
   new Label(headerLeftArea).setText("公告数量:");
   new Label(headerLeftArea).setText(" ");
   new Label(headerLeftArea).setID(PublishingNoticeListProcessor.ID_LABEL_COUNT);
   new Label(headerLeftArea).setText(" ");
   new Label(headerLeftArea).setText("条");
   new SSearchText2(headerRightArea).setID(PublishingNoticeListProcessor.ID_TEXT_SEARCHTEXT);
   // 新建公告
   Button addButton = new Button(footerLeftArea, JWT.APPEARANCE3);
   addButton.setID(PublishingNoticeListProcessor.ID_BUTTON_ADDNOTICE);
   addButton.setText("新建公告");
   GridData addButtonGridData = new GridData();
   addButtonGridData.widthHint = 80;
   addButtonGridData.heightHint = 30;
   addButton.setLayoutData(addButtonGridData);
 }
  static {
    gdTitle = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    gdTitle.heightHint = 40;
    glTitle = new GridLayout();
    glTitle.numColumns = 2;

    glHeader = new GridLayout();
    glHeader.numColumns = 3;
    gdHeader = new GridData(GridData.FILL_HORIZONTAL);
    gdHeader.heightHint = 32;

    glFooter = new GridLayout();
    glFooter.numColumns = 3;
    gdFooter = new GridData(GridData.FILL_HORIZONTAL);
    gdFooter.heightHint = 29;

    h_gdLeft = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.GRAB_HORIZONTAL);
    h_gdLeft.heightHint = 24;
    h_gdRight =
        new GridData(
            GridData.VERTICAL_ALIGN_BEGINNING
                | GridData.HORIZONTAL_ALIGN_END
                | GridData.GRAB_HORIZONTAL);
    h_gdRight.heightHint = 24;

    f_gdLeft =
        new GridData(
            GridData.VERTICAL_ALIGN_END | GridData.GRAB_VERTICAL | GridData.GRAB_HORIZONTAL);
    f_gdLeft.heightHint = 29;
    f_gdRight =
        new GridData(
            GridData.VERTICAL_ALIGN_END
                | GridData.GRAB_VERTICAL
                | GridData.HORIZONTAL_ALIGN_END
                | GridData.GRAB_HORIZONTAL);
    f_gdRight.heightHint = 29;

    headerAreaLayout = new GridLayout();
    headerAreaLayout.numColumns = 15;
    headerAreaLayout.horizontalSpacing = 0;

    footerAreaLayout = new GridLayout();
    footerAreaLayout.numColumns = 10;
    footerAreaLayout.horizontalSpacing = 0;

    headerData = new GridData(GridData.VERTICAL_ALIGN_CENTER | GridData.GRAB_VERTICAL);
    footerData = new GridData(GridData.FILL_VERTICAL);
  }