Creating a Simple Password Entry Form

Figure 9-11 shows a simple form, with two Label widgets and two Text widgets aligned so that each label acts as a text reminder of the contents to input into the corresponding Text widget.

FormLayoutExample

Figure 9-11. FormLayoutExample

How do I do that?

Example 9-6 uses FormLayout to create a simple four-widget form.

Example 9-6. Using FormLayout

import org.eclipse.swt.*;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;

public class FormLayoutExample {
    Display d;
    Shell s;
    FormLayoutExample( )    {
        d = new Display( );
        s = new Shell(d);
        s.setSize(250,250);
        s.setImage(new Image(d, "c:\\icons\\JavaCup.ico"));
        s.setText("A FormLayout Example");
        s.setLayout(new FormLayout( ));
        
        final Label l1 = new Label(s, SWT.RIGHT);
        l1.setText("First Name");
        FormData fd = new FormData( );
        fd.top = new FormAttachment(10, 10);
        fd.left = new FormAttachment(0, 10);
        fd.bottom = new FormAttachment(30,0);
        fd.right = new FormAttachment(40,0);
        l1.setLayoutData(fd);
        
        final Label l2 = new Label(s, SWT.RIGHT);
        l2.setText("Last Name");
        fd = new FormData( );
        fd.top = new FormAttachment(l1, 5);
        fd.left = new FormAttachment(0, 10);
        fd.bottom = new FormAttachment(40,0);
        fd.right = new FormAttachment(40,0);
        l2.setLayoutData(fd);
        
        final Text t1 = new Text(s, SWT.BORDER | SWT.SINGLE);
        fd = new FormData( );
        fd.top = new FormAttachment(l1, 0, SWT.TOP); ...

Get SWT: A Developer's Notebook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.