title: How to use an ArrayList to manage many JButtons?
body: <p>I'm not to sure how to work with ArrayLists.  I want to declare variables, add them to a panel, change their font and color etc.  Here are the variables I have</p>
  
  <pre><code>import java.awt.BorderLayout;
  import java.awt.Color;
  import java.awt.Font;
  import java.awt.GridLayout;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import java.util.ArrayList;
  
  import javax.swing.JButton;
  import javax.swing.JFrame;
  import javax.swing.JPanel;
  import javax.swing.JTextField;
  
  public class Calculator extends JFrame implements ActionListener {
  
  // declare number buttons
  private JButton zero = new JButton("0");
  private JButton one = new JButton("1");
  private JButton two = new JButton("2");
  private JButton three = new JButton("3");
  private JButton four = new JButton("4");
  private JButton five = new JButton("5");
  private JButton six = new JButton("6");
  private JButton seven = new JButton("7");
  private JButton eight = new JButton("8");
  private JButton nine = new JButton("9");
  
  public Calculator(String name) {
  
      // set overall layout
      setLayout(new BorderLayout());
  
      // Create panel
      JPanel grid = new JPanel();
      grid.setLayout(new GridLayout(4, 4, 4, 4));
  
      // Create font
      Font font = new Font("SERIF", Font.BOLD, 32);
  
      // Set Button Fonts and color
      zero.setFont(font);
      zero.setBackground(Color.cyan);
      one.setFont(font);
      one.setBackground(Color.cyan);
      two.setFont(font);
      two.setBackground(Color.cyan);
      three.setFont(font);
      three.setBackground(Color.cyan);
      four.setFont(font);
      four.setBackground(Color.cyan);
      five.setFont(font);
      five.setBackground(Color.cyan);
      six.setFont(font);
      six.setBackground(Color.cyan);
      seven.setFont(font);
      seven.setBackground(Color.cyan);
      eight.setFont(font);
      eight.setBackground(Color.cyan);
      nine.setFont(font);
      nine.setBackground(Color.cyan);
  
  // add Buttons to grid
      grid.add(zero);
      grid.add(one);
      grid.add(two);
      grid.add(three);
      grid.add(four);
      grid.add(five);
      grid.add(six);
      grid.add(seven);
      grid.add(eight);
      grid.add(nine);
  
  boolean edit = false;
      JTextField numberBar = new JTextField();
      numberBar.setSize(grid.WIDTH, 50);
      numberBar.setEditable(edit);
  
      // Add Number bar to panel
      add(numberBar, BorderLayout.NORTH);
  
      // Add grid to main panel
      add(grid);
  
      setTitle(name);
      setSize(500, 500);
      setVisible(true);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
  
  }
  
  @Override
  public void actionPerformed(ActionEvent arg0) {
      // TODO Auto-generated method stub
  
  }
  
  public static void main(String[] args) {
      // TODO Auto-generated method stub
      Calculator calculator = new Calculator("Calculator");
  
  }
  </code></pre>
  
  <p>As you can see this is a mess without ArrayLists.</p>