import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.ScrolledComposite; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.forms.widgets.FormToolkit; public class Form extends ApplicationWindow { private Text[] text = new Text[30]; private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); private Text text_1; private Composite composite; public Form() { super(null); createActions(); } @Override protected Control createContents(Composite parent) { Composite container = new Composite(parent, SWT.NONE); { ScrolledComposite scrolledComposite = new ScrolledComposite(container, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); scrolledComposite.setBounds(0, 0, 776, 498); formToolkit.adapt(scrolledComposite); formToolkit.paintBordersFor(scrolledComposite); scrolledComposite.setExpandHorizontal(true); scrolledComposite.setExpandVertical(true); { composite = new Composite(scrolledComposite, SWT.NONE); formToolkit.adapt(composite); formToolkit.paintBordersFor(composite); { for( int i = 0; i < 30; i++ ) { text[i] = new Text(composite, SWT.BORDER); text[i].setBounds(86, 10 + i*30, 338, 21); formToolkit.adapt(text[i], true, true); } } } scrolledComposite.setContent(composite); scrolledComposite.setMinSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); } return container; } private void createActions() { // Create the actions } public static void main(String args[]) { try { Form window = new Form(); window.setBlockOnOpen(true); window.open(); Display.getCurrent().dispose(); } catch (Exception e) { e.printStackTrace(); } } @Override protected void configureShell(Shell newShell) { super.configureShell(newShell); newShell.setText("New Application"); } @Override protected Point getInitialSize() { return new Point(792, 551); } }