Showing posts with label user id text box using java swing. Show all posts
Showing posts with label user id text box using java swing. Show all posts

Tuesday, December 18, 2018

Input ID and Password Text Boxes using Java Swing

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;


public class getIdAndPassword {

public String[] getUserDetails() {
String[] getUserDetails = new String[3];
JTextField userId = new JTextField(15);
JPasswordField password = new JPasswordField(15);
password.setEchoChar('*');

//the below piece of code ensures that the user cannot enter greater than 15 characters

userId.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
if (userId.getText().length() >= 15) {
e.consume();
JOptionPane.showMessageDialog(null, "Maximum characters: 15 ", "Max Limit Reached", JOptionPane.WARNING_MESSAGE);

}
}
});

//the below piece of code ensures that the user cannot enter greater than 15 characters
password.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
if (password.getPassword().length >= 15) {
e.consume();
JOptionPane.showMessageDialog(null, "Maximum characters: 15 ", "Max Limit Reached", JOptionPane.WARNING_MESSAGE);
}
}
});
JPanel myPanel = new JPanel();
myPanel.add(new JLabel("User-ID:"));
myPanel.add(userId);
myPanel.add(Box.createHorizontalStrut(15)); // a spacer
myPanel.add(new JLabel("Password:"));
myPanel.add(password);

//set your own image. Default image is "?".
//Remove the image code if you would like to use default image

ImageIcon icon = new ImageIcon("myImage.jpg");
Image image = icon.getImage();
Image newimg = image.getScaledInstance(50, 50, java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);
int result = JOptionPane.showConfirmDialog(null, myPanel, "Please Enter User-ID and Password",
JOptionPane.OK_CANCEL_OPTION,JOptionPane.NO_OPTION,icon);
if (result == JOptionPane.OK_OPTION) {
getUserDetails[0] = userId.getText();
getUserDetails[1] = String.valueOf(password.getPassword());
}
if (result == JOptionPane.CANCEL_OPTION) {
getUserDetails[0] = " ";
getUserDetails[1] = " ";
getUserDetails[2] = "CANCELLED";
System.out.println("Operation Cancelled");
}
if (result==JOptionPane.CLOSED_OPTION) {
getUserDetails[0] = " ";
getUserDetails[1] = " ";
getUserDetails[2] = "CANCELLED";
System.out.println("Operation Cancelled");
}
return getUserDetails;
}

}


This class will return the string array "getUserDetails".

Create a java main class to test the above class. Copy and paste the below code into your main method and test.

  getIdAndPassword ip=new getIdAndPassword();
  String userDetails[]=ip.getUserDetails();
  if (userDetails[0].trim().isEmpty() || userDetails[1].trim().isEmpty() || userDetails[2]=="CANCELLED")
  {
   if(userDetails[2]=="CANCELLED")
   {
    JOptionPane.showMessageDialog(null, "Aborting application ", "Abort", JOptionPane.WARNING_MESSAGE); 
    return;
   }
   else
   {
    JOptionPane.showMessageDialog(null, "Either User-ID or Password is not provided", "Insuffient Input", JOptionPane.WARNING_MESSAGE);
    return;
   }
  }
  System.out.println("User-ID  : "+userDetails[0]);
  System.out.println("Password : "+userDetails[1]);


The result would be as follows:


Input ID and Password Text Boxes using Java Swing

Featured Post

REXX Skeleton: Submitting jobs through Rexx

Submitting jobs through REXX and reading the spool through REXX gives us immense potential to automate many manual activities in mainframes....