Home Tutorials Swt Create Expand Bar in SWT



Create Expand Bar in SWT
Posted on: October 24, 2008 at 12:00 AM
SWT provides an application of creating a Expand Bar using the classes ExpandBar and ExpandItem. The class ExpandBar provides the layout of selectable expand bar items.

Create Expand Bar in SWT

     

This section illustrates you how to create an Expand Bar.

SWT provides an application of creating a Expand Bar using the classes ExpandBar and ExpandItem. The class ExpandBar provides the layout of selectable expand bar items.

The layout.VerticalSpacing specifies the number of pixels between the bottom edge and the top edge. The method setHeight() of class ExpandItem sets the height of the Expand bar. The method setControl(composite) sets the control that is shown when the item is expanded. The method composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y) returns the preferred size.

Here is the code of ExpandBarExample.java

import org.eclipse.swt.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.graphics.*;

public class ExpandBarExample {
public static void main (String [] args) {
  Display display = new Display ();
  Shell shell = new Shell (display);
  shell.setLayout(new FillLayout());
  shell.setText("Expand Bar");
  ExpandBar bar = new ExpandBar (shell, SWT.V_SCROLL);

  Composite composite = new Composite (bar, SWT.NONE);
  GridLayout layout = new GridLayout ();
  layout.marginLeft = layout.marginTop=
  layout.marginRight=layout.marginBottom=8;
  layout.verticalSpacing = 10;
  composite.setLayout(layout);
  Label label = new Label (composite, SWT.NONE);
  label.setText("This is Bar 1");
  ExpandItem item1 = new ExpandItem (bar, SWT.NONE, 0);
  item1.setText("Bar 1");
  item1.setHeight
  (composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
  item1.setControl(composite);
  
  composite = new Composite (bar, SWT.NONE);
  layout = new GridLayout (2, false);
  layout.marginLeft = layout.marginTop=
   layout.marginRight=layout.marginBottom=8;
  layout.verticalSpacing = 10;
  composite.setLayout(layout);  
  label = new Label (composite, SWT.NONE);
  label.setText("This is Bar2");
  ExpandItem item2 = new ExpandItem (bar, SWT.NONE, 1);
  item2.setText("Bar 2");
  item2.setHeight
  (composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
  item2.setControl(composite);
  
  composite = new Composite (bar, SWT.NONE);
  layout = new GridLayout (2, true);
  layout.marginLeft = layout.marginTop=
   layout.marginRight=layout.marginBottom=8;
  layout.verticalSpacing = 10;
  composite.setLayout(layout);
  label = new Label (composite, SWT.NONE);
  label.setText("This is Bar3");  
  ExpandItem item3 = new ExpandItem (bar, SWT.NONE, 2);
  item3.setText("Bar 3");
  item3.setHeight
   (composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
  item3.setControl(composite);  
  bar.setSpacing(6);
  shell.setSize(300, 200);
  shell.open();
  while (!shell.isDisposed ()) {
  if (!display.readAndDispatch ()) {
  display.sleep ();
  }
  }
  display.dispose();
}
}

Output will be displayed as:

Download Source Code

     

Related Tags for Create Expand Bar in SWT:
cideclasstablelayoutselectapplicationioclassesswtviusingiddbaapptabexpandsseeitbardesitemitemsliinasmoutcadbclesememspropppancatcreatingsateaandarxpxpandwtssthswabablatiapicaicaplprndono


More Tutorials from this section

Ask Questions?    Discuss: Create Expand Bar in SWT  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.