SWT Jface Eclipse Java

/******************************************************************************
 * All Right Reserved. 
 * Copyright (c) 1998, 2004 Jackwind Li Guojie
 * 
 * Created on 2004-6-16 20:22:44 by JACK
 * $Id$
 * 
 *****************************************************************************/
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.forms.widgets.ColumnLayout;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.ScrolledForm;
import org.eclipse.ui.forms.widgets.TableWrapData;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
public class FormLayouts extends ApplicationWindow{
  FormToolkit toolkit;
  ScrolledForm form;
  /**
   * @param parentShell
   */
  public FormLayouts(Shell parentShell) {
    super(parentShell);
  }
  
  private void demoColumnLayout() {
    ColumnLayout layout = new ColumnLayout();
    layout.maxNumColumns = 4;
    form.getBody().setLayout(layout);
    
    Color color = form.getDisplay().getSystemColor(SWT.COLOR_YELLOW);
    Label label = null;
    for(int i=0; i<10; i++) {
      label = toolkit.createLabel(form.getBody(), "Text label #" + i);
    }
    
  }
  
  private void demoTableWrapLayout() {
    TableWrapLayout layout = new TableWrapLayout();
    layout.numColumns = 2;
    form.getBody().setLayout(layout);
    
    Color color = form.getDisplay().getSystemColor(SWT.COLOR_YELLOW);
    Label label = toolkit.createLabel(form.getBody(), "Some text spans over two columns in the first row.  ", SWT.WRAP);
    TableWrapData data = new TableWrapData();
    data.colspan = 2;
    label.setLayoutData(data);
    label.setBackground(color);
    
    label = toolkit.createLabel(form.getBody(), "Some text in the first column of the second row. and here is goes on and on ... ... ... ... ", SWT.WRAP);
    label.setBackground(color);
    label = toolkit.createLabel(form.getBody(), "Some text in the second column of the second row. ", SWT.WRAP);
    label.setBackground(color);
  }
  
  /*
   * (non-Javadoc)
   * 
   * @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite)
   */
  protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NULL);
    composite.setLayout(new FillLayout());
    // Sets up the toolkit.
    toolkit = new FormToolkit(getShell().getDisplay());
    // Creates a form instance.
    form = toolkit.createScrolledForm(composite);
    form.setLayoutData(new GridData(GridData.FILL_BOTH));
    // Sets title.
    form.setText("Form Layouts Demo");
    // demoTableWrapLayout();
    demoColumnLayout();
    return composite;
  }
  public static void main(String[] args) {
    FormLayouts win = new FormLayouts(null);
    win.setBlockOnOpen(true);
    win.open();
  }
}