Mega Code Archive

 
Categories / Java / SWT Jface Eclipse
 

Tabbed Example

import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TabFolder; import org.eclipse.swt.widgets.TabItem; import org.eclipse.swt.widgets.Text; public class TabbedShellExample {   Display d;   Shell s;   TabbedShellExample() {     d = new Display();     s = new Shell(d);     s.setSize(250, 200);          s.setText("A Tabbed Shell Example");     s.setLayout(new FillLayout());     TabFolder tf = new TabFolder(s, SWT.BORDER);     TabItem ti1 = new TabItem(tf, SWT.BORDER);     ti1.setText("Option Group");     ti1.setControl(new GroupExample(tf, SWT.SHADOW_ETCHED_IN));     TabItem ti2 = new TabItem(tf, SWT.BORDER);     ti2.setText("Grid");     ti2.setControl(new GridComposite(tf));     TabItem ti3 = new TabItem(tf, SWT.BORDER);     ti3.setText("Text");     Composite c1 = new Composite(tf, SWT.BORDER);     c1.setLayout(new FillLayout());     Text t = new Text(c1, SWT.BORDER | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);     ti3.setControl(c1);     TabItem ti4 = new TabItem(tf, SWT.BORDER);     ti4.setText("Settings");     Composite c2 = new Composite(tf, SWT.BORDER);     c2.setLayout(new RowLayout());     Text t2 = new Text(c2, SWT.BORDER | SWT.SINGLE | SWT.WRAP         | SWT.V_SCROLL);     Button b = new Button(c2, SWT.PUSH | SWT.BORDER);     b.setText("Save");     ti4.setControl(c2);     s.open();     while (!s.isDisposed()) {       if (!d.readAndDispatch())         d.sleep();     }     d.dispose();   } } class GroupExample extends Composite {   final Button b1;   final Button b2;   final Button b3;   public GroupExample(Composite c, int style) {     super(c, SWT.NO_BACKGROUND);     this.setSize(110, 75);     this.setLayout(new FillLayout());     final Group g = new Group(this, style);     g.setSize(110, 75);     g.setText("Options Group");     b1 = new Button(g, SWT.RADIO);     b1.setBounds(10, 20, 75, 15);     b1.setText("Option One");     b2 = new Button(g, SWT.RADIO);     b2.setBounds(10, 35, 75, 15);     b2.setText("Option Two");     b3 = new Button(g, SWT.RADIO);     b3.setBounds(10, 50, 80, 15);     b3.setText("Option Three");   }   public String getSelected() {     if (b1.getSelection())       return "Option One";     if (b2.getSelection())       return "Option Two";     if (b3.getSelection())       return "Option Three";     return "None Selected";   } } class GridComposite extends Composite {   public GridComposite(Composite c) {     super(c, SWT.BORDER);     GridLayout gl = new GridLayout();     gl.numColumns = 3;     this.setLayout(gl);     final Label l1 = new Label(this, SWT.BORDER);     l1.setText("Column One");     final Label l2 = new Label(this, SWT.BORDER);     l2.setText("Column Two");     final Label l3 = new Label(this, SWT.BORDER);     l3.setText("Column Three");     final Text t1 = new Text(this, SWT.SINGLE | SWT.BORDER);     final Text t2 = new Text(this, SWT.SINGLE | SWT.BORDER);     final Text t3 = new Text(this, SWT.SINGLE | SWT.BORDER);     final Text t4 = new Text(this, SWT.SINGLE | SWT.BORDER);     final Text t5 = new Text(this, SWT.SINGLE | SWT.BORDER);     final Text t6 = new Text(this, SWT.SINGLE | SWT.BORDER);     GridData gd = new GridData();     gd.horizontalAlignment = GridData.CENTER;     l1.setLayoutData(gd);     gd = new GridData();     gd.horizontalAlignment = GridData.CENTER;     l2.setLayoutData(gd);     gd = new GridData();     gd.horizontalAlignment = GridData.CENTER;     l3.setLayoutData(gd);     gd = new GridData(GridData.FILL_HORIZONTAL);     t1.setLayoutData(gd);     gd = new GridData(GridData.FILL_HORIZONTAL);     t2.setLayoutData(gd);     gd = new GridData(GridData.FILL_HORIZONTAL);     t3.setLayoutData(gd);     gd = new GridData(GridData.FILL_HORIZONTAL);     t4.setLayoutData(gd);     gd = new GridData(GridData.FILL_HORIZONTAL);     t5.setLayoutData(gd);     gd = new GridData(GridData.FILL_HORIZONTAL);     t6.setLayoutData(gd);   }   public static void main(String[] argv) {     new TabbedShellExample();   } }