title: What is the best way to make my buttons on my calculator interactive, so that they can actually add, subtract, etc?
body: <p>I wanted to make a small calculator project for fun to test out my new GUI knowledge with Java Swing API. I created the GUI, but there's a crucial part missing: The math! My Question is, how do I add functionality to each of these buttons? In simpler terms: How do I make the buttons add something to the text box(2+2) when the user clicks the buttons, and then have the system actually add the numbers together and display them for the user? </p>
  
  <pre><code>import java.awt.BorderLayout;
  import java.awt.Color;
  import java.awt.GridBagConstraints;
  import java.awt.GridBagLayout;
  
  import javax.swing.BoxLayout;
  import javax.swing.JButton;
  import javax.swing.JFrame;
  import javax.swing.JLabel;
  import javax.swing.JPanel;
  import javax.swing.JTextField;
  import javax.swing.UIManager;
  
  
  public class basicCalculatorDesign {
  
      public static void main(String[] args) {
          try {
              UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
              } 
              catch (Exception e) {
              }
          basicCalculatorDesign calc = new basicCalculatorDesign();
          calc.start();
      }
  
      public void start() {
          JFrame frame = new JFrame();
          JPanel panel = new JPanel();
          JButton one = new JButton("1");
          JButton two = new JButton("2");
          JButton three = new JButton("3");
          JButton four = new JButton("4");
          JButton five = new JButton("5");
          JButton six = new JButton("6");
          JButton seven = new JButton("7");
          JButton eight = new JButton("8");
          JButton nine = new JButton("9");
          JButton zero = new JButton("0");
          JButton plus = new JButton("+");
          JButton minus = new JButton("-");
          JButton divide = new JButton("/");
          JButton multiply = new JButton("*");
          JButton sqrt = new JButton("SqRt");
          JButton percentage = new JButton("%");
          JButton equals = new JButton("=");
  
          JTextField input = new JTextField();
  
          JLabel label = new JLabel("Basic Calculator");
          frame.getContentPane().add(BorderLayout.NORTH, label);
  
          frame.getContentPane().add(BorderLayout.SOUTH, input);
  
          panel.setBackground(Color.BLUE);
          panel.setLayout(new GridBagLayout());
  
          JPanel panel2 = new JPanel();
          panel2.setLayout(new BoxLayout(panel2, BoxLayout.Y_AXIS));
          panel2.setBackground(Color.RED);
          frame.getContentPane().add(BorderLayout.EAST, panel2);
  
          frame.getContentPane().add(BorderLayout.CENTER, panel);
  
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.setVisible(true);
          frame.setSize(210, 260);
  
  
          GridBagConstraints right = new GridBagConstraints();
          right.anchor = GridBagConstraints.WEST;
          GridBagConstraints left = new GridBagConstraints();
          left.anchor = GridBagConstraints.EAST;
          GridBagConstraints middle = new GridBagConstraints();
          middle.anchor = GridBagConstraints.CENTER;
          right.gridwidth = GridBagConstraints.REMAINDER;
          right.fill = GridBagConstraints.HORIZONTAL;
  
          // add buttons
          panel.add(one, left);
          panel.add(two, middle);
          panel.add(three, right);
          panel.add(four, left);
          panel.add(five, middle);
          panel.add(six, right);
          panel.add(seven, left);
          panel.add(eight, middle);
          panel.add(nine, right);
          panel.add(zero, right);
  
          panel2.add(equals);
          panel2.add(plus);
          panel2.add(minus);
          panel2.add(divide);
          panel2.add(multiply);
          panel2.add(sqrt);
          panel2.add(percentage);
  
      }
  }
  </code></pre>