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;
 }
}
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:
 
No comments:
Post a Comment