title: Jbutton to retrieve JText.getText and search from arraylist with two values
body: <p>i'm facing a problem when select a Jbutton to retrieve JText.getText and search from arraylist with two values (string,double). As follows is my code pls help. Thanks</p>
  
  <pre><code>public void initCards(){
      StudentCard s1 = new StudentCard("1234567",5.00);
      EZLinkCard.add(s1); 
      StudentCard s2 = new StudentCard("1001001",0.00);
      EZLinkCard.add(s2);
      AdultCard a1 = new AdultCard ("5678901",20.00);
      EZLinkCard.add(a1);
  }
  
  public EZLinkCard searchCard(String cardNum){      
      for(int a=0; a &lt; EZLinkCard.size(); a++){// Loop for print methods
          System.out.println(a);
          EZLinkCard p = (EZLinkCard)EZLinkCard.get(a);
          if (p.getCardNum().equals(cardNum)){ 
              return p;  
          } 
          else {
              JOptionPane.showMessageDialog(null,"Please Key in valid card number" );
          }
      } 
  
      if (event.getActionCommand().equals("Retrive card information")) {         
          String cardNum = TCardNumber.getText();
          CardList c = new CardList();
          EZLinkCard p ;
          p = c.searchCard("cardNum");
          String z = Double.toString(p.getBalance());
          TCardBalance.setText(z); 
      }
  </code></pre>
  
  <p>Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException</p>
  
  <pre><code>at ezlink.MainMenu$ButtonHandler.actionPerformed(MainMenu.java:86)
  at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
  at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
  at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
  at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
  at javax.swing.plaf.basic.BasicButtonListener.mouseReleased
  </code></pre>
  
  <p>(BasicButtonListener.java:252)</p>
  
  <pre><code>at java.awt.Component.processMouseEvent(Component.java:6504)
  at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
  at java.awt.Component.processEvent(Component.java:6269)
  at java.awt.Container.processEvent(Container.java:2229)
  at java.awt.Component.dispatchEventImpl(Component.java:4860)
  at java.awt.Container.dispatchEventImpl(Container.java:2287)
  at java.awt.Component.dispatchEvent(Component.java:4686)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
  at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
  at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
  at java.awt.Container.dispatchEventImpl(Container.java:2273)
  at java.awt.Window.dispatchEventImpl(Window.java:2713)
  at java.awt.Component.dispatchEvent(Component.java:4686)
  at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
  at java.awt.EventQueue.access$000(EventQueue.java:101)
  at java.awt.EventQueue$3.run(EventQueue.java:666)
  at java.awt.EventQueue$3.run(EventQueue.java:664)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege
  </code></pre>
  
  <p>(ProtectionDomain.java:76)</p>
  
  <pre><code>at java.security.ProtectionDomain$1.doIntersectionPrivilege
  </code></pre>
  
  <p>(ProtectionDomain.java:87)</p>
  
  <pre><code>at java.awt.EventQueue$4.run(EventQueue.java:680)
  at java.awt.EventQueue$4.run(EventQueue.java:678)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege
  </code></pre>
  
  <p>(ProtectionDomain.java:76)</p>
  
  <pre><code>at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
  at java.awt.EventDispatchThread.pumpOneEventForFilters
  </code></pre>
  
  <p>(EventDispatchThread.java:211)</p>
  
  <pre><code>at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy
  </code></pre>
  
  <p>(EventDispatchThread.java:117)</p>
  
  <pre><code>at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
  at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
  </code></pre>