title: Using Arraylists to store passwords in Java GUI
body: <p>I'm in my first computer programming class and my assignment is to create a program that will allow a user to reserve an airline ticket. This is my first time working with Java GUI and I've so far been successful, except I can't get my program to recognize the entered password. I've pasted my code below. Can someone please tell me how to fix this? Thanks! This is my class: </p>
  
  <pre><code>public class OptionGUI extends JPanel  implements ActionListener
  {
     ArrayList&lt;String&gt;passworddatabase= new ArrayList();
     ArrayList&lt;String&gt; usernamedatabase= new ArrayList();
     JButton newaccount = new JButton("Create a new account");
     JButton login= new JButton("Login");
     public int response;
    public OptionGUI()
    {
  
      newaccount.setVerticalTextPosition (AbstractButton.CENTER);
      newaccount.setHorizontalTextPosition(AbstractButton.LEADING);
      newaccount.setActionCommand("create");
  
      login.setVerticalTextPosition(AbstractButton.CENTER);
      login.setHorizontalTextPosition(AbstractButton.TRAILING);
      login.setActionCommand("login");
      login.setEnabled(true);
  
      newaccount.addActionListener(this);
      login.addActionListener(this);
  
      add(newaccount);
      add(login);
     }
    public void actionPerformed(ActionEvent e)
    {
     {
         if ("create".equals(e.getActionCommand()))
        {
  
          newaccount.setEnabled(true);
          login.setEnabled(false);
  
          JPanel logininfo= new JPanel();
          JLabel usernameLbl= new JLabel("Choose a username:");
          JLabel passwordLbl= new JLabel("Choose a password:");
          JTextField username= new JTextField();
          JPasswordField password= new JPasswordField();
  
          logininfo.add(usernameLbl);
          logininfo.add(username);
          logininfo.add(passwordLbl);
          logininfo.add(password);
  
  
          logininfo.setVisible(true);
  
          int input2 = JOptionPane.showConfirmDialog(frame,logininfo, "Create your account:"
                              ,JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
  
          char[] enteredPassword= password.getPassword();
          char[] enteredPassword2= passwordconfirm.getPassword();
          String newusername= username.getText();
          String newpassword= String.valueOf(enteredPassword);
          String newpassword2= String.valueOf(enteredPassword2);
  
          String[] options = { "Login", "Cancel" };
          response = JOptionPane.showOptionDialog(null, "Your account has been successfully created! Please login to continue.", "Confirmation",JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, options,options[0]);                    
  
              }
          passworddatabase.add(newpassword);
          usernamedatabase.add(newusername);
  
          }
         if ("loginbutton".equals(e.getActionCommand())|| response==0)
         {  
          login.setEnabled(true);
          newaccount.setEnabled(false);
          JPanel panel= new JPanel();
          panel.setLayout(new GridLayout(2,2));
          JLabel usernameLbl = new JLabel("Username:");
          JLabel passwordLbl = new JLabel("Password:");
          JTextField username = new JTextField();
          JPasswordField passwordFld = new JPasswordField();
  
          panel.add(usernameLbl);
          panel.add(username);
          panel.add(passwordLbl);
          panel.add(passwordFld);
  
          panel.setVisible(true);
  
          int input = JOptionPane.showConfirmDialog(frame, panel, "Enter your password:"
                              ,JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
  
          String inputPassword= String.valueOf(passwordFld);
          String inputUsername= username.getText();
  
          for(int i=0; i &lt; passworddatabase.size(); i++) 
          {
           if (passworddatabase.get(i).contains(inputPassword))
          {
             JOptionPane.showMessageDialog(null, "Welcome to AIR Ticket Reservation!");
           }
  
          else
           {   JOptionPane.showMessageDialog(null, "The username or password you entered does not exist.", "Error",
                                      JOptionPane.ERROR_MESSAGE);
                  }
              }                
          }
      }
  }
      }
  </code></pre>
  
  <p>And my driver: </p>
  
  <pre><code>import javax.swing.JFrame;
  import javax.swing.JOptionPane;
  import javax.swing.JTextField;
  import javax.swing.JTextArea;
  import javax.swing.JPasswordField;
  import javax.swing.JPanel;
  import javax.swing.JLabel;
  import javax.swing.JButton;
  import javax.swing.JDialog;
  import java.awt.GridLayout;
  import java.util.Arrays;
  import java.awt.EventQueue;
  import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  import javax.swing.AbstractButton;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import java.awt.event.KeyEvent;
  
  public class Driver 
  {
     public static void main(String[] args)
      { 
  
          JFrame option= new JFrame ("Ticket Reservation");
          option.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          option.setSize(500,300);
          option.setLocationRelativeTo(null);
          OptionGUI newContentPane= new OptionGUI();
          option.setContentPane(newContentPane);
  
          option.setVisible(true);
      }             
  }
  </code></pre>
  
  <p>It's quite lengthy but much thanks! </p>