title: how to declare JLabels within actionListener(actionEvent e) so that Text can be set when JButton is clicked
body: <p>I am coding a Rock Paper Scissors game and I am trying to get each of the JLabels to update whenever one of the three buttons (Rock, Paper, Scissors) are clicked. </p>
  
  <p>The problem with this is that each of the JLabels are defined within createWindow() and i need them to also be defined within ActionListener(ActionEvent e). </p>
  
  <p>I have tried to copy-paste some of the code from createWindow() and the JLabels update, but the only problem is that it creates an entirely new window without the buttons (only contains the text). If I try to instantiate the Labels outside of the main method the JLabels don't show up at all.</p>
  
  <p>Any help is appreciated (whether i have to re-write the entire program or not), I am new to Java and Swing and any criticism will be helpful in one way or another. (I am writing in Eclipse IDE).</p>
  
  <pre><code>  import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.*;
  
    public class RockPaperScissors extends JPanel implements ActionListener {
  public static void main(String[] args) {
      RockPaperScissors sm = new RockPaperScissors();
      sm.createWindow();
  }
  private void createWindow() {
      // create JFrame/JPanel
      JFrame frame = new JFrame("Rock! Paper! Scissors!");
      JPanel panel = new JPanel();
      JLabel title = new JLabel("Rock! Paper! Scissors!");
      JLabel playerchoice = new JLabel("");
      JLabel computerdecision = new JLabel("");
      JLabel outcome = new JLabel("");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setLocationRelativeTo(null);
      frame.setVisible(true);
      frame.pack();
      frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
      JButton button1 = new JButton("Rock");
      panel.add(button1);
      button1.addActionListener(this);
      button1.setBounds(480, 500, 100, 50);
      JButton button2 = new JButton("Paper");
      panel.add(button2);
      button2.addActionListener(this);
      button2.setBounds(590, 500, 100, 50);
      JButton button3 = new JButton("Scissors");
      panel.add(button3);
      button3.addActionListener(this);
      button3.setBounds(700, 500, 100, 50);
      frame.add(panel);
      panel.setLayout(new BorderLayout());
      GroupLayout layout = new GroupLayout(this);
      this.setLayout(layout);
      panel.add(title);
      panel.add(playerchoice);
      panel.add(computerdecision);
      panel.add(outcome);
      outcome.setBounds(571, 90, 260, 200);
      computerdecision.setBounds(571, 100, 260, 200);
      playerchoice.setBounds(571, 120, 260, 200);
      title.setBounds(571, 0, 260, 200);
  }
       public void actionPerformed(ActionEvent e) {
      // JLabels
      int choice = 0;
      int computerchoice = 0;
      int min = -1;
      int max = -3;
      computerchoice = (int) (Math.random() * (max - min - 1) + min);
      if (computerchoice == -1) {
          panel.add(computerdecision);
          computerdecision.setText("The Computer Chose Rock!");
          // for checking
          System.out.println("The Computer Chose Rock!");
      } else if (computerchoice == -2) {
          panel.add(computerdecision);
          computerdecision.setText("The Computer Chose Paper!");
          // for checking
          System.out.println("The Computer Chose Paper!");
      } else if (computerchoice == -3) {
          panel.add(computerdecision);
          computerdecision.setText("The Computer Chose Scissors!");
          // for checking
          System.out.println("The Computer chose Scissors!");
      }
      if (e.getActionCommand().equals("Rock")) {
          choice = 1;
          panel.add(playerchoice);
          playerchoice.setText("You chose Rock!");
          // for checking
          System.out.println("You chose Rock!");
      } else if (e.getActionCommand().equals("Paper")) {
          choice = 2;
          panel.add(playerchoice);
          playerchoice.setText("You chose Paper!");
          // for checking
          System.out.println("You chose Paper!");
      } else if (e.getActionCommand().equals("Scissors")) {
          choice = 3;
          panel.add(playerchoice);
          playerchoice.setText("You chose Scissors!");
          // for checking
          System.out.println("You chose Scissors!");
      }
      if (choice + computerchoice == 0) {
          panel.add(outcome);
          outcome.setText("It is a Tie!");
          // for checking
          System.out.println("It is a Tie!");
      } else if (choice + computerchoice == 1 || choice + computerchoice == -2) {
          panel.add(outcome);
          outcome.setText("You Win!");
          // for checking
          System.out.println("You Win!");
      } else if (choice + computerchoice == 2 || choice + computerchoice == -1) {
          panel.add(outcome);
          outcome.setText("You Lose...");
          // for checking
          System.out.println("You Lose...");
      }
  }}
  </code></pre>