SWT - TabFolder Beispiel
Was ist TabFolder?
In SWT ist TabFolder eine Unterklasse einer Composite-Klasse. Der TabFolder kann zusammengesetzte Objekte über einen Registerkartenindex in einen einzelnen Container einschließen.
Wie erstelle ich einen TabFolder?
Hier erstelle ich ein TabFolder-Composite, füge ein sashForm-Composite zu einem Tab 1 und ein Group-Composite zu einem Tab 2 hinzu.
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 (); } }