What is TabFolder?

In SWT, TabFolder is a subclass of a Composite class. The TabFolder can include composite object into a single container through a tabbed index.

How to create a TabFolder?

Here i create a TabFolder composite, add a sashForm composite into a tab 1 and Group composite into a tab 2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
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 SWTTabFolder
{
	public static void main (String [] args) {
		Display display = new Display ();
		Shell shell = new Shell(display);
		shell.setText("SWT TabFolder Example");
 
		shell.setLayout(new FillLayout());
 
	    TabFolder folder = new TabFolder(shell, SWT.NONE);
 
	    //Tab 1
	    TabItem tab1 = new TabItem(folder, SWT.NONE);
	    tab1.setText("Tab 1");
 
	    // Create the SashForm with HORIZONTAL
	    SashForm sashForm = new SashForm(folder, SWT.HORIZONTAL);
	    new Button(sashForm, SWT.PUSH).setText("Left");
	    new Button(sashForm, SWT.PUSH).setText("Right");
 
	    tab1.setControl(sashForm);	    
 
	    //Tab 2
	    TabItem tab2 = new TabItem(folder, SWT.NONE);
	    tab2.setText("Tab 2");
 
	    Group group = new Group(folder, SWT.NONE);
	    group.setText("Group in Tab 2");
 
	    Label label = new Label(group, SWT.BORDER);
	    label.setText("Label in Tab 2");
	    label.setBounds(10, 100, 100, 100);
 
	    Text text = new Text(group, SWT.NONE);
	    text.setText("Text in Tab 2");
	    text.setBounds(10, 200, 100, 100);
 
	    tab2.setControl(group);
 
		shell.open();
 
		while (!shell.isDisposed ()) {
			if (!display.readAndDispatch ()) display.sleep ();
		}
		display.dispose ();
	}
 
}

This article was posted in SWT category.

Related Posts