Exclude a widget from a GridLayout : Layout « SWT JFace Eclipse « Java






Exclude a widget from a GridLayout

Exclude a widget from a GridLayout


import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;

/*
 * Exclude a widget from a GridLayout
 * 
 * For a list of all SWT example snippets see
 * http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/dev.html#snippets
 */

public class Snippet175 {

  public static void main(String[] args) {

    Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setLayout(new GridLayout(3, false));

    Button b = new Button(shell, SWT.PUSH);
    b.setText("Button 0");

    final Button bHidden = new Button(shell, SWT.PUSH);
    bHidden.setText("Button 1");
    GridData data = new GridData();
    data.exclude = true;
    data.horizontalSpan = 2;
    data.horizontalAlignment = SWT.FILL;
    bHidden.setLayoutData(data);

    b = new Button(shell, SWT.PUSH);
    b.setText("Button 2");
    b = new Button(shell, SWT.PUSH);
    b.setText("Button 3");
    b = new Button(shell, SWT.PUSH);
    b.setText("Button 4");

    b = new Button(shell, SWT.CHECK);
    b.setText("hide");
    b.setSelection(true);
    b.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event e) {
        Button b = (Button) e.widget;
        GridData data = (GridData) bHidden.getLayoutData();
        data.exclude = b.getSelection();
        bHidden.setVisible(!data.exclude);
        shell.layout(false);
      }
    });
    shell.setSize(400, 400);
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch())
        display.sleep();
    }
    display.dispose();
  }
}

           
       








Related examples in the same category

1.SWT Layout Example in OneSWT Layout Example in One
2.SWT GridLayout DemoSWT GridLayout Demo
3.SWT GridLayoutSWT GridLayout
4.Control Size LocationControl Size Location
5.SWT RowLayout SampleSWT RowLayout Sample
6.SWT FillLayout SampleSWT FillLayout Sample
7.SWT Form Layout SampleSWT Form Layout Sample
8.SWT GridLayout SampleSWT GridLayout Sample
9.GridLayout Sample Grab SpaceGridLayout Sample Grab Space
10.Grid Layout SpanGrid Layout Span
11.Layout ComponentsLayout Components
12.Layout TermsLayout Terms
13.StackLayout SampleStackLayout Sample
14.BorderLayout SampleBorderLayout Sample
15.FormLayoutsFormLayouts
16.FormLayout SimpleFormLayout Simple
17.A BorderLayoutA BorderLayout
18.FillLayout HorizontalFillLayout Horizontal
19.FillLayout VerticalFillLayout Vertical
20.FormLayout ComplexFormLayout Complex
21.FormLayout Form AttachmentFormLayout Form Attachment
22.FormLayoutFormLayout
23.GridLayout 2x2GridLayout 2x2
24.Grid Layout ComplexGrid Layout Complex
25.No LayoutNo Layout
26.Row Layout TestRow Layout Test
27.Stack Layout TestStack Layout Test
28.Row Layout HorizontalRow Layout Horizontal
29.FillLayout ExampleFillLayout Example
30.FormLayout ExampleFormLayout Example
31.GridLayout ExampleGridLayout Example
32.GridLayout Example 2GridLayout Example 2
33.Layout ExampleLayout Example
34.RowLayout ExampleRowLayout Example
35.SWT FillLayout
36.SWY Radial Layout
37.Use of Radial Layout
38.GridLayout with All Options
39.Simplest GridLayout
40.SWT GridLayout: GridSpan
41.SWT RowLayout
42.SWT FillLayout Composite
43.SWT GridLayout: align widgets in a vertical columnSWT GridLayout: align widgets in a vertical column
44.SWT GridLayout: align widgets in a horizontal rowSWT GridLayout: align widgets in a horizontal row
45.Insert widgets into a grid layoutInsert widgets into a grid layout
46.Align widgets in a GridLayoutAlign widgets in a GridLayout
47.FormLayout: create a simple OK and CANCEL dialog using form layoutFormLayout: create a simple OK and CANCEL dialog using form layout
48.FormLayout: center a label and single line text using a form layoutFormLayout: center a label and single line text using a form layout
49.FormLayout: create a simple dialog using form layoutFormLayout: create a simple dialog using form layout