title: cannot find symbol in JButton
body: <p>my problem is that it cannot find the symbol but i already declare the 'r1button' before that class. already googled similar problems but cant seem to find one. im getting error in the 'e.getSource()==r1button' part.  </p>
  
  <pre><code>package projectwindow;
  
  import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  
  public class ProjectWindow extends JFrame {
  
      public static void main(String[] args) {
          JFrame nframe = new JFrame ("Bus Reservation");
          nframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
          JPanel ContentPane = new JPanel();
          //ContentPane.setBackground();
          ContentPane.setLayout(new GridBagLayout());
  
          JLabel row1 = new JLabel("A1", SwingConstants.LEFT);            
          row1.setAlignmentX(JLabel.LEFT_ALIGNMENT);
          row1.setHorizontalAlignment(JLabel.LEFT);
          JButton r1button = new JButton("reserve A1"); 
          r1button.setAlignmentX(JButton.LEFT_ALIGNMENT);
  
          JLabel r1c2Lab = new JLabel ("A2", SwingConstants.CENTER);
          JButton r1c2Button = new JButton ("reserve A2");
  
          JLabel row2 = new JLabel("B1", SwingConstants.LEFT);
          row2.setAlignmentX(JLabel.LEFT_ALIGNMENT);
          row2.setHorizontalAlignment(JLabel.LEFT);
          JButton r2button = new JButton("reserve B1");
  
          JLabel r2c2Lab = new JLabel("B2");
          JButton r2c2Button = new JButton("reserve B2");
  
          JLabel row3 = new JLabel("C1",SwingConstants.LEFT);
          row3.setAlignmentX(JLabel.LEFT_ALIGNMENT);
          row3.setHorizontalAlignment(JLabel.LEFT);
          JButton r3button = new JButton("reserve C1");
  
          JLabel r3c2Lab = new JLabel ("C2");
          JButton r3c2Button = new JButton ("reserve C2");
  
          JLabel row4 = new JLabel("D1",SwingConstants.LEFT);
          row4.setAlignmentX(JLabel.LEFT_ALIGNMENT);
          row4.setHorizontalAlignment(JLabel.LEFT);
          JButton r4button = new JButton("reserve D1");
  
          JLabel r4c2Lab = new JLabel ("D2");
          JButton r4c2Button = new JButton ("reserve D2");
  
          JLabel row5 = new JLabel("E1",SwingConstants.LEFT);
          row5.setAlignmentX(JLabel.LEFT_ALIGNMENT);
          row5.setHorizontalAlignment(JLabel.LEFT);
          JButton r5button = new JButton("reserve E1");
  
          JLabel r5c2Lab = new JLabel ("E2");
          JButton r5c2Button = new JButton ("reserve E2");
  
          JLabel row6 = new JLabel("F1",SwingConstants.LEFT);
          row6.setAlignmentX(JLabel.LEFT_ALIGNMENT);
          row6.setHorizontalAlignment(JLabel.LEFT);
          JButton r6button = new JButton("reserve F1");
  
          JLabel r6c2Lab = new JLabel ("F2");
          JButton r6c2Button = new JButton ("reserve F2");
  
          JLabel row7 = new JLabel("G1",SwingConstants.LEFT);
          row7.setAlignmentX(JLabel.LEFT_ALIGNMENT);
          row7.setHorizontalAlignment(JLabel.LEFT);
          JButton r7button = new JButton("reserve G1");
  
          JLabel r7c2Lab = new JLabel("G2");
          JButton r7c2Button = new JButton ("reserve G2");
  
          JLabel row8 = new JLabel("H1",SwingConstants.LEFT);
          row8.setAlignmentX(JLabel.LEFT_ALIGNMENT);
          row8.setHorizontalAlignment(JLabel.LEFT);
          JButton r8button = new JButton("reserve H1");
  
          JLabel r8c2Lab = new JLabel ("H2");
          JButton r8c2Button = new JButton ("reserve H2");
  
          JLabel row9 = new JLabel("I1",SwingConstants.LEFT);
          row9.setAlignmentX(JLabel.LEFT_ALIGNMENT);
          row9.setHorizontalAlignment(JLabel.LEFT);
          JButton r9button = new JButton("reserve I1");
  
          JLabel r9c2Lab = new JLabel ("I2");
          JButton r9c2Button = new JButton ("reserve I2");
  
          JLabel row10 = new JLabel("J1",SwingConstants.LEFT);
          row10.setAlignmentX(JLabel.LEFT_ALIGNMENT);
          row10.setHorizontalAlignment(JLabel.LEFT);
          JButton r10button = new JButton("reserve J1");
  
          JLabel r10c2Lab = new JLabel ("J2");
          JButton r10c2Button = new JButton ("reserve J2");
  
          //counter 1
          JLabel counterLab = new JLabel ("Counter");
          JTextField counter = new JTextField (15);
  
          //receipt
          JLabel recLab = new JLabel ("Receipt");
          JTextField recText = new JTextField (15);
  
          //clear
          JButton total = new JButton ("total");
          JButton clr = new JButton ("clear");
  
          //bill
          JLabel Blabel = new JLabel ("Bill");
          JTextField bill = new JTextField (15);
  
          GridBagConstraints cons = new GridBagConstraints();
  
          //textfield counter
          cons.gridx = 400;
          cons.gridy = 3;
          ContentPane.add(counterLab, cons);
          cons.insets = new Insets (10,10,0,0);
          cons.gridx = 400;
          cons.gridy = 4;
          ContentPane.add(counter, cons);
  
          //receipt
          cons.gridx = 400;
          cons.gridy = 5;
          ContentPane.add(Blabel, cons);
          cons.gridx = 400;
          cons.gridy = 6;
          ContentPane.add(bill, cons);
  
          //bill
          cons.gridx = 400;
          cons.gridy = 7;
          ContentPane.add(recLab, cons);
          cons.gridx = 400;
          cons.gridy = 8;
          ContentPane.add(recText, cons);
  
          //total
          cons.gridx = 400;
          cons.gridy = 9;
          ContentPane.add(total, cons);
  
          //clear
          cons.gridx = 400;
          cons.gridy = 10;
          ContentPane.add(clr, cons);
  
          //column 2
          cons.insets = new Insets (0,0,10,10);
          cons.gridx = 40;
          cons.gridy = 1;
          ContentPane.add(r1c2Lab,cons);
          cons.gridx = 40;
          cons.gridy = 2;
          ContentPane.add(r1c2Button, cons);
          cons.gridx = 40;
          cons.gridy = 3;
          ContentPane.add(r2c2Lab, cons);
          cons.gridx = 40;
          cons.gridy = 4;
          ContentPane.add(r2c2Button, cons);
          cons.gridx = 40;
          cons.gridy = 5;
          ContentPane.add(r3c2Lab, cons);
          cons.gridx = 40;
          cons.gridy = 6;
          ContentPane.add(r3c2Button, cons);
          cons.gridx = 40;
          cons.gridy = 7;
          ContentPane.add(r4c2Lab, cons);
          cons.gridx = 40;
          cons.gridy = 8;
          ContentPane.add(r4c2Button, cons);
          cons.gridx = 40;
          cons.gridy = 9;
          ContentPane.add(r5c2Lab, cons);
          cons.gridx = 40;
          cons.gridy = 10;
          ContentPane.add(r5c2Button, cons);
          cons.gridx = 40;
          cons.gridy = 11;
          ContentPane.add(r6c2Lab, cons);
          cons.gridx = 40;
          cons.gridy = 12;
          ContentPane.add(r6c2Button, cons);
          cons.gridx = 40;
          cons.gridy = 13;
          ContentPane.add(r7c2Lab, cons);
          cons.gridx = 40;
          cons.gridy = 14;
          ContentPane.add(r7c2Button, cons);
          cons.gridx = 40;
          cons.gridy = 15;
          ContentPane.add(r8c2Lab, cons);
          cons.gridx = 40;
          cons.gridy = 16;
          ContentPane.add(r8c2Button, cons);
          cons.gridx = 40;
          cons.gridy = 17;
          ContentPane.add(r9c2Lab, cons);
          cons.gridx = 40;
          cons.gridy = 18;
          ContentPane.add(r9c2Button, cons);
          cons.gridx = 40;
          cons.gridy = 19;
          ContentPane.add(r10c2Lab, cons);
          cons.gridx = 40;
          cons.gridy = 20;
          ContentPane.add(r10c2Button, cons);
  
          //column 1 
          cons.insets = new Insets (0,0,10,10);
          cons.gridx = 0;
          cons.gridy = 1;
          ContentPane.add(row1,cons); 
          cons.gridx = 0;
          cons.gridy = 2;
          ContentPane.add(r1button,cons);
          cons.gridx = 0;
          cons.gridy = 3;
          ContentPane.add(row2,cons);
          cons.gridx = 0;
          cons.gridy = 4;
          ContentPane.add(r2button,cons);
          cons.gridx = 0;
          cons.gridy = 5;
          ContentPane.add(row3,cons);
          cons.gridx = 0;
          cons.gridy = 6;
          ContentPane.add(r3button,cons);
          cons.gridx = 0;
          cons.gridy = 7;
          ContentPane.add(row4,cons);
          cons.gridx = 0;
          cons.gridy = 8;
          ContentPane.add(r4button,cons);
          cons.gridx = 0;
          cons.gridy = 9;
          ContentPane.add(row5,cons);
          cons.gridx = 0;
          cons.gridy = 10;
          ContentPane.add(r5button,cons);
          cons.gridx = 0;
          cons.gridy = 11;
          ContentPane.add(row6,cons);
          cons.gridx = 0;
          cons.gridy = 12;
          ContentPane.add(r6button,cons);
          cons.gridx = 0;
          cons.gridy = 13;
          ContentPane.add(row7,cons);
          cons.gridx = 0;
          cons.gridy = 14;
          ContentPane.add(r7button,cons);
          cons.gridx = 0;
          cons.gridy = 15;
          ContentPane.add(row8,cons);
          cons.gridx = 0;
          cons.gridy = 16;
          ContentPane.add(r8button,cons);
          cons.gridx = 0;
          cons.gridy = 17;
          ContentPane.add(row9,cons);
          cons.gridx = 0;
          cons.gridy = 18;
          ContentPane.add(r9button,cons);
          cons.gridx = 0;
          cons.gridy = 19;
          ContentPane.add(row10,cons);
          cons.gridx = 0;
          cons.gridy = 20;
          ContentPane.add(r10button,cons);
  
          // progHandler handler = new progHandler();
          // col1 
          r1button.addActionListener(new progHandler());
          r2button.addActionListener(new progHandler());
          r3button.addActionListener(new progHandler());
          r4button.addActionListener(new progHandler());
          r5button.addActionListener(new progHandler());
          r6button.addActionListener(new progHandler());
          r7button.addActionListener(new progHandler());
          r8button.addActionListener(new progHandler());
          r9button.addActionListener(new progHandler());
          r10button.addActionListener(new progHandler());
  
          // col2
          r1c2Button.addActionListener(new progHandler());
          r2c2Button.addActionListener(new progHandler());
          r3c2Button.addActionListener(new progHandler());
          r4c2Button.addActionListener(new progHandler());
          r5c2Button.addActionListener(new progHandler());
          r6c2Button.addActionListener(new progHandler());
          r7c2Button.addActionListener(new progHandler());
          r8c2Button.addActionListener(new progHandler());
          r9c2Button.addActionListener(new progHandler());
          r10c2Button.addActionListener(new progHandler());
  
          nframe.add(ContentPane);
          nframe.pack();
          nframe.setSize(450,750);
          nframe.setVisible(true);       
      }
  
      static class progHandler implements ActionListener {
          @Override
          public void actionPerformed(ActionEvent e) {
              if(e.getSource()==r1button)//this is the symbol that it cannot find. 
          }
      }
  }
  </code></pre>