title: index out of bounds exception in ArrayList
body: <p>Here is the error message I get:</p>
  
  <pre><code>Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
      at java.util.ArrayList.RangeCheck(ArrayList.java:547)
      at java.util.ArrayList.get(ArrayList.java:322)
      at pie.chart.explorer.alpha.ShowPieChart.&lt;init&gt;(ShowPieChart.java:28)
      at pie.chart.explorer.alpha.PieChartMain.jButton2ActionPerformed(PieChartMain.java:101)
      at pie.chart.explorer.alpha.PieChartMain.access$100(PieChartMain.java:22)
      at pie.chart.explorer.alpha.PieChartMain$2.actionPerformed(PieChartMain.java:63)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
      at java.awt.Component.processMouseEvent(Component.java:6267)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
      at java.awt.Component.processEvent(Component.java:6032)
      at java.awt.Container.processEvent(Container.java:2041)
      at java.awt.Component.dispatchEventImpl(Component.java:4630)
      at java.awt.Container.dispatchEventImpl(Container.java:2099)
      at java.awt.Component.dispatchEvent(Component.java:4460)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
      at java.awt.Container.dispatchEventImpl(Container.java:2085)
      at java.awt.Window.dispatchEventImpl(Window.java:2478)
      at java.awt.Component.dispatchEvent(Component.java:4460)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
  BUILD SUCCESSFUL (total time: 14 seconds)
  </code></pre>
  
  <p>And here is the code:</p>
  
  <pre><code>/*
   * To change this template, choose Tools | Templates
   * and open the template in the editor.
   */
  package pie.chart.explorer.alpha;
  
  import java.awt.Color;
  import java.awt.FlowLayout;
  import java.util.ArrayList;
  import java.util.Iterator;
  import javax.swing.JFrame;
  
  /**
   *
   * @author Andrew
   */
  public class ShowPieChart extends JFrame {
  
      PiePanel pieChart;
  
      public ShowPieChart(ArrayList&lt;Float&gt; val, ArrayList&lt;Color&gt; col) {
          super("Pie Chart");
          int index = 1;
          setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
          FlowLayout flow = new FlowLayout();
          pieChart = new PiePanel(val.size());
          for(Iterator&lt;Float&gt; i = val.iterator(); i.hasNext(); )  {
           pieChart.addSlice(col.get(index), val.get(index));
           index++;
          }
          setLayout(flow);
          add(pieChart);
          setVisible(true);
      }
  }
  </code></pre>
  
  <p>I have tried lots of things to fix this problem, but I can't tell why I still keep getting an IndexOutOfBoundsException. To the best of my knowledge, I am pretty sure this is correct! Can you help?</p>