title: JComboBox Item Listener Selected Item
body: <p>I am creating a combo box and it keeps giving me an error with the item listener that I don't understand. If you could also explain your answer that would be nice. Thanks in advance: </p>
  
  <p>Here's the item listeners for the combo boxes:</p>
  
  <pre><code>combo1.addItemListener(new ItemListener(){
              @Override
              public void itemStateChanged(ItemEvent e){
                 if(e.getStateChange() == ItemEvent.SELECTED){
                    JComboBox localCombo = (JComboBox)e.getSource();
                    ic1[0] = localCombo.getSelectedItem().toString();     
                 }  
              }
          });
          combo2.addItemListener(new ItemListener(){
              @Override
              public void itemStateChanged(ItemEvent e){
  
                  if(e.getStateChange() == ItemEvent.SELECTED){
                      JComboBox localCombo = (JComboBox)e.getSource();
                      ic1[1] = localCombo.getSelectedItem().toString();
                  }
              }
          });
  </code></pre>
  
  <p>The error says it is on the .getSelectedItem()...   lines. It only gives me the error when I run the program and select a word in the box. Thanks!</p>
  
  <p>Here's the error in the run (line 61 is the .getSelectedItem()... line):</p>
  
  <pre><code>    run:
  Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
      at thisprogramisforfun.guiClasses.guiClassConversions$1.itemStateChanged(guiClassConversions.java:61)
      at javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1225)
      at javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1282)
      at javax.swing.JComboBox.contentsChanged(JComboBox.java:1329)
      at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:118)
      at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:93)
      at javax.swing.JComboBox.setSelectedItem(JComboBox.java:578)
      at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:624)
      at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:835)
      at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
      at java.awt.Component.processMouseEvent(Component.java:6505)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
      at javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:499)
      at java.awt.Component.processEvent(Component.java:6270)
      at java.awt.Container.processEvent(Container.java:2229)
      at java.awt.Component.dispatchEventImpl(Component.java:4861)
      at java.awt.Container.dispatchEventImpl(Container.java:2287)
      at java.awt.Component.dispatchEvent(Component.java:4687)
      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:2719)
      at java.awt.Component.dispatchEvent(Component.java:4687)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
      at java.awt.EventQueue.access$200(EventQueue.java:103)
      at java.awt.EventQueue$3.run(EventQueue.java:694)
      at java.awt.EventQueue$3.run(EventQueue.java:692)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
      at java.awt.EventQueue$4.run(EventQueue.java:708)
      at java.awt.EventQueue$4.run(EventQueue.java:706)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
  </code></pre>