Stack Layout Test : Layout « SWT JFace Eclipse « Java






Stack Layout Test

Stack Layout Test

//Send questions, comments, bug reports, etc. to the authors:

//Rob Warner (rwarner@interspatial.com)
//Robert Harris (rbrt_harris@yahoo.com)

import org.eclipse.swt.events.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.SWT;

public class StackLayoutTest {
  public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    StackLayout layout = new StackLayout();
    shell.setLayout(layout);
    StackLayoutSelectionAdapter adapter = new StackLayoutSelectionAdapter(shell,
        layout);
    Button one = new Button(shell, SWT.PUSH);
    one.setText("one");
    one.addSelectionListener(adapter);
    Button two = new Button(shell, SWT.PUSH);
    two.setText("two");
    two.addSelectionListener(adapter);
    Button three = new Button(shell, SWT.PUSH);
    three.setText("three");
    three.addSelectionListener(adapter);
    layout.topControl = one;
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        display.sleep();
      }
    }
    display.dispose();
  }
}

class StackLayoutSelectionAdapter extends SelectionAdapter {
  Shell shell;
  StackLayout layout;

  public StackLayoutSelectionAdapter(Shell shell, StackLayout layout) {
    this.shell = shell;
    this.layout = layout;
  }

  public void widgetSelected(SelectionEvent event) {
    Control control = layout.topControl;
    Control[] children = shell.getChildren();
    int i = 0;
    for (int n = children.length; i < n; i++) {
      Control child = children[i];
      if (child == control) {
        break;
      }
    }
    ++i;
    if (i >= children.length) {
      i = 0;
    }
    layout.topControl = children[i];
    shell.layout();
  }
}
           
       








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.Row Layout HorizontalRow Layout Horizontal
28.FillLayout ExampleFillLayout Example
29.FormLayout ExampleFormLayout Example
30.GridLayout ExampleGridLayout Example
31.GridLayout Example 2GridLayout Example 2
32.Layout ExampleLayout Example
33.RowLayout ExampleRowLayout Example
34.SWT FillLayout
35.SWY Radial Layout
36.Use of Radial Layout
37.GridLayout with All Options
38.Simplest GridLayout
39.SWT GridLayout: GridSpan
40.SWT RowLayout
41.SWT FillLayout Composite
42.SWT GridLayout: align widgets in a vertical columnSWT GridLayout: align widgets in a vertical column
43.SWT GridLayout: align widgets in a horizontal rowSWT GridLayout: align widgets in a horizontal row
44.Exclude a widget from a GridLayoutExclude a widget from a GridLayout
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