Java by API/org.eclipse.swt.widgets/Composite
extends Composite
<source lang="java">
import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; 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.ruposite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class MainClass {
public static void main(String[] a) { Display d = new Display(); Shell s = new Shell(d); s.setSize(250, 250); s.setText("A Shell Composite Example"); GridLayout gl = new GridLayout(); gl.numColumns = 4; s.setLayout(gl); s.setLayout(gl); GridComposite gc = new GridComposite(s); GridData gd = new GridData(GridData.FILL_BOTH); gd.horizontalSpan = 4; gc.setLayoutData(gd); gd = new GridData(); RowComposite rc = new RowComposite(s); gd = new GridData(GridData.FILL_HORIZONTAL); rc.setLayoutData(gd); s.open(); while (!s.isDisposed()) { if (!d.readAndDispatch()) d.sleep(); } d.dispose(); }
} 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); }
} class RowComposite extends Composite {
final Button okBtn; final Button cancelBtn; public RowComposite(Composite c) { super(c, SWT.NO_FOCUS); RowLayout rl = new RowLayout(); rl.wrap = false; rl.pack = false; this.setLayout(rl); okBtn = new Button(this, SWT.BORDER | SWT.PUSH); okBtn.setText("OK"); okBtn.setSize(30, 20); cancelBtn = new Button(this, SWT.BORDER | SWT.PUSH); cancelBtn.setText("Cancel"); cancelBtn.setSize(30, 20); cancelBtn.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { System.out.println("Cancel was clicked"); } }); }
}
</source>
new Composite(Shell s, SWT.NO_FOCUS)
<source lang="java">
import org.eclipse.swt.SWT; 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.ruposite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class MainClass {
public static void main(String[] a) { Display d = new Display(); Shell s = new Shell(d); GridLayout gl = new GridLayout(); gl.numColumns=4; s.setLayout(gl); s.setSize(250,275); s.setText("A Shell Composite Example"); s.setLayout(gl); GridData gd = new GridData(GridData.FILL_BOTH); gd.horizontalSpan = 4; gd = new GridData(); Composite c1 = new Composite(s, SWT.NO_FOCUS); gd = new GridData(GridData.FILL_HORIZONTAL); c1.setLayoutData(gd); Composite c2 = new Composite(s, SWT.NO_FOCUS); gd = new GridData(GridData.FILL_HORIZONTAL); c2.setLayoutData(gd); Composite c = new Composite(s, SWT.NO_FOCUS); c.setLayout(new RowLayout()); Button b1 = new Button(c, SWT.PUSH | SWT.BORDER); b1.setText("OK"); Button b2 = new Button(c, SWT.PUSH | SWT.BORDER); b2.setText("Cancel"); gd = new GridData(GridData.FILL_HORIZONTAL); c.setLayoutData(gd); s.open(); while (!s.isDisposed()) { if (!d.readAndDispatch()) d.sleep(); } d.dispose(); }
}
</source>