import javax.swing.*; import java.awt.*; import java.util.*;
public class PasswordDialog { public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
createGuiFrame(); } }); }
private static void createGuiFrame() {
JFrame guiFrame = new JFrame();
guiFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
guiFrame.setTitle("Dialog Box Example");
guiFrame.setSize(500,300);
guiFrame.setLocationRelativeTo(null);
guiFrame.setVisible(true);
JTextArea tracker = new JTextArea("Password Tracker:"); guiFrame.add(tracker);
JPanel userPanel = new JPanel(); userPanel.setLayout(new GridLayout(2,2));
JLabel usernameLbl = new JLabel("Username:");
JLabel passwordLbl = new JLabel("Password:");
JTextField username = new JTextField();
JPasswordField passwordFld = new JPasswordField();
userPanel.add(usernameLbl); userPanel.add(username);
userPanel.add(passwordLbl); userPanel.add(passwordFld);
int input = JOptionPane.showConfirmDialog(guiFrame, userPanel,
"Enter your password:" ,JOptionPane.OK_CANCEL_OPTION,
JOptionPane.PLAIN_MESSAGE);
char[] correctPassword = {'X','P','A','S','S','W','O','R','D'};
if (input == 0) {
tracker.append("\nUsername entered was: " + username.getText());
char[] enteredPassword = passwordFld.getPassword();
tracker.append("\nPassword entered was: " + String.valueOf(enteredPassword));
if (Arrays.equals(correctPassword, enteredPassword)) {
tracker.append("\nThe password entered is correct!"); }
else { tracker.append("\nCall security - it's an imposter!"); }
Arrays.fill(enteredPassword, '0'); }
else { tracker.append("\nDialog cancelled.."); } } }