Login Form in SWT
This section illustrates you how to create Login Form.
To create a login form in SWT, the Label class set the labels User
Name and Password and Text class sets the text for the specified fields. The
method shell.setLayout(new GridLayout(2, false)) sets the layout of
the login form. The method setTextLimit(30) sets the limit on maximum
number of characters. The method setEchoCharacter("*") sets
the echo character for the password. A button is created to submit the
form.
After submitting the button, if you haven't specify the username and
password, an alert box will be displayed, which is provided by the class MessageBox.
If you filled the required fields, the box shows the Welcome message along with
the username.
Here is the code LoginForm.java
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.events.*;
public class LoginForm {
Display display = new Display();
Shell shell = new Shell(display);
Label label1,label2;
Text username;
Text password;
Text text;
public LoginForm() {
shell.setLayout(new GridLayout(2, false));
shell.setText("Login form");
label1=new Label(shell, SWT.NULL);
label1.setText("User Name: ");
username = new Text(shell, SWT.SINGLE | SWT.BORDER);
username.setText("");
username.setTextLimit(30);
label2=new Label(shell, SWT.NULL);
label2.setText("Password: ");
password = new Text(shell, SWT.SINGLE | SWT.BORDER);
System.out.println(password.getEchoChar());
password.setEchoChar('*');
password.setTextLimit(30);
Button button=new Button(shell,SWT.PUSH);
button.setText("Submit");
button.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
String selected=username.getText();
String selected1=password.getText();
if(selected==""){
MessageBox messageBox = new MessageBox(shell, SWT.OK |
SWT.ICON_WARNING |SWT.CANCEL);
messageBox.setMessage("Enter the User Name");
messageBox.open();
}
if(selected1==""){
MessageBox messageBox = new MessageBox(shell, SWT.OK |
SWT.ICON_WARNING |SWT.CANCEL);
messageBox.setMessage("Enter the Password");
messageBox.open();
}
else{
MessageBox messageBox=new MessageBox(shell,SWT.OK|SWT.CANCEL);
messageBox.setText("Login Form");
messageBox.setMessage("Welcome:" + username.getText());
messageBox.open();
}
}
});
username.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
password.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
public static void main(String[] args) {
new LoginForm();
}
} |
Output will be displayed as:
After submitting the form, following message will be displayed in the
message box:
Download Source Code