title: Reference clicked JButton inside ActionListener
body: <p>I'm trying to write a Tic Tac Toe program using swing, but I seem to having some trouble. In my anonymous inner classes I attempt to set up the actionListener for each of my buttons, but I'm having trouble finding the type or the variable which will allow me to reference the buttons and set them to either X or Y. I tried e.getSource().setText() in my anonymous classes, but that came back with errors. Any thoughts? 
  Thanks!
  Alex</p>
  
  <pre><code>import javax.swing.*;
  
  import java.awt.*;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  
  public class TicTacToe  {
  
  public JFrame frame;
  public JLabel label;
  public JPanel panel;
  
  public static int counter;
  
  
  
  public void go()
  { 
      frame = new JFrame("TicTacToe");
      frame.setSize(500, 500);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      panel = new JPanel();
      panel.setLayout(new GridLayout(3,3,10,10));
      frame.add(BorderLayout.CENTER, panel);
      label= new JLabel("TIC TAC TOE");
      frame.add(BorderLayout.NORTH, label);
  
      ; 
  
  
      JButton button1 = new JButton("Button 1");
      JButton button2 = new JButton("Button 1");
      JButton button3 = new JButton("Button 1");
      JButton button4 = new JButton("Button 1");
      JButton button5 = new JButton("Button 1");
      JButton button6 = new JButton("Button 1");
      JButton button7 = new JButton("Button 1");
      JButton button8 = new JButton("Button 1");
      JButton button9 = new JButton("Button 1");
  
  
  
  
  
      button1.addActionListener(new ActionListener(){ 
          public void actionPerformed(ActionEvent e)
          {
  
  
          }
      });
  
      button2.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e)
          {
  
          }
      });
  
      button3.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e)
          {
  
          }
      });
  
      button4.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e)
          {
  
          }
      });
  
      button5.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e)
          {
  
          }
      });
  
      button6.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e)
          {
  
          }
      });
  
      button7.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e)
          {
  
          }
      });
  
      button8.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e)
          {
  
          }
      });
  
      button9.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e)
          {
  
          }
      });
  
      panel.add(button1);
      panel.add(button2);
      panel.add(button3);
      panel.add(button4);
      panel.add(button5);
      panel.add(button6);
      panel.add(button7);
      panel.add(button8);
      panel.add(button9);
      frame.setVisible(true);
      panel.setVisible(true);
  
  }
  
  
  public static void main(String[] args)
  {
      TicTacToe gui = new TicTacToe();
      gui.go();
  
  }
  
  
  }
  </code></pre>