Java tutorial
import org.eclipse.swt.SWT; import org.eclipse.swt.events.FocusEvent; import org.eclipse.swt.events.FocusListener; import org.eclipse.swt.widgets.Display; 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); final Text text1 = new Text(s, SWT.WRAP | SWT.BORDER); text1.setBounds(100, 50, 100, 20); text1.setTextLimit(5); text1.setEchoChar('*'); final Text text2 = new Text(s, SWT.SINGLE | SWT.BORDER); text2.setBounds(100, 75, 100, 20); text2.setTextLimit(30); FocusListener focusListener = new FocusListener() { public void focusGained(FocusEvent e) { } public void focusLost(FocusEvent e) { Text t = (Text) e.widget; if (t == text2) { if (t.getText().length() < 3) { t.setFocus(); } } } }; text1.addFocusListener(focusListener); text2.addFocusListener(focusListener); s.open(); while (!s.isDisposed()) { if (!d.readAndDispatch()) d.sleep(); } d.dispose(); } }