import javax.swing.JDialog; import javax.swing.JPasswordField; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JLabel; import java.awt.Component; /* Author: James Tam Version: 2015 */ public class MyDialog extends JDialog implements ActionListener { private static final int MATCH = 0; private static final String ACTUAL_PASSWORD = "123456"; private JPasswordField aPasswordField; private JLabel aLabel; public MyDialog() { System.out.println(ACTUAL_PASSWORD); aLabel = new JLabel("Enter password"); aLabel.setBounds(50,20,120,20); aPasswordField = new JPasswordField(); aPasswordField.setBounds(50,40,120,20); aPasswordField.addActionListener(this); setLayout(null); addControls(); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); } public void addControls() { add(aLabel); add(aPasswordField); } public void actionPerformed(ActionEvent e) { Component aComponent = (Component) e.getSource(); if (aComponent instanceof JPasswordField) { JPasswordField aPasswordField = (JPasswordField) aComponent; String passWordEntered = new String(aPasswordField.getPassword()); if (passWordEntered.compareTo(ACTUAL_PASSWORD) == MATCH) { loginSuccess(); } else { loginFailed(); } } } public void cleanUp(JDialog popup) { try { Thread.sleep(3000); } catch (InterruptedException ex) { System.out.println("Pausing of program was interrupted"); } this.setVisible(false); this.dispose(); this.setVisible(false); popup.setVisible(false); popup.dispose(); this.dispose(); System.exit(0); } public void loginSuccess() { JDialog success = new JDialog(); success.setTitle("Login successful!"); success.setSize(200,50); success.setVisible(true); cleanUp(success); } public void loginFailed() { JDialog failed = new JDialog(); failed.setTitle("Login failed!"); failed.setSize(200,50); failed.setVisible(true); cleanUp(failed); } }