Home Tutorials Swt Create Expand Bar in SWT
Questions:Ask|Latest


 
 

Share on Google+Share on Google+

Create Expand Bar in SWT

Advertisement
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

     

Advertisement

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: October 24, 2008

Ask Questions?    Discuss: Create Expand Bar in SWT  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
DMCA.com