title: How Do I Get User Input from a TextField and Convert it to a Double?
body: <p>I'm using Eclipse to build a calculator and I am having trouble because I need to have 2 values entered by the user. Here is my code for the run class.</p>
  
  <pre><code>import display.Gui;
  
  public class Main {
  
  public static void main(String argsp[]) {
  
      Gui window = new Gui();
      double a = 0, b = 0, c = 0;
      String operator;
      boolean calculate = true;
  
      window.setVisible(true);
      window.setSize(500, 400);
      window.setResizable(false);
      window.setLocationRelativeTo(null);
  
      while (calculate) {
          window.textArea_1.append("Enter an equation.\n");
          a = Double.parseDouble(window.textField.getText());
          operator = window.textField.getText();
          b = Double.parseDouble(window.textField.getText());
  
          if (operator.contains("+"))
              c = a + b;
  
          if (operator.contains("-"))
              c = a - b;
  
          if (operator.contains("*"))
              c = a * b;
  
          if (operator.contains("/"))
              c = a / b;
  
          if (operator.contains("x^2"))
              c = a * a;
  
          if (operator.contains("sqrt"))
              c = Math.sqrt(a);
  
          if (operator.contains("%"))
              c = a / 100;
  
          window.textArea.append("" + c + "\n");
          window.textArea.append("");
          window.textArea.append("Would you like to make another calculation? [Yes/No]\n");
  
          String calculation = window.textField.getText();
  
          try {
          if (calculation.equalsIgnoreCase("Yes"))
              calculate = true;
  
          if (calculation.equalsIgnoreCase("No"))
              calculate = false;
          } catch (Exception e) {
              window.textArea_1.append("Please enter yes or no");
          }
  
      }
  }
  
  }
  </code></pre>
  
  <p>and here is my class for the JFrame:</p>
  
  <pre><code>import java.awt.Dimension;
  import java.awt.EventQueue;
  
  import javax.swing.JFrame;
  import java.awt.BorderLayout;
  import javax.swing.JTextField;
  import javax.swing.JTextArea;
  import java.awt.event.ActionListener;
  import java.awt.event.ActionEvent;
  
  public class Gui extends JFrame {
  
  public JTextArea textArea, textArea_1;
  public JTextField textField;
  
  /**
   * Launch the application.
   */
  public static void main(String[] args) {
      EventQueue.invokeLater(new Runnable() {
          public void run() {
              try {
                  Gui frame = new Gui();
                  frame.setVisible(false);
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      });
  }
  
  /**
   * Create the frame.
   */
  public Gui() {
      setBounds(100, 100, 450, 300);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      getContentPane().setLayout(new BorderLayout(0, 0));
  
      textField = new JTextField();
      textField.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent Ev) {
              textArea.append(textField.getText() + "\n");
              textField.setText("");
          }
      });
      textField.requestFocus();
      getContentPane().add(textField, BorderLayout.SOUTH);
      textField.setColumns(10);
  
      textArea = new JTextArea();
      textArea.setEditable(false);
      textArea.setPreferredSize(new Dimension(215, 200));
      getContentPane().add(textArea, BorderLayout.WEST);
  
      textArea_1 = new JTextArea();
      textArea_1.setEditable(false);
      textArea_1.setPreferredSize(new Dimension(215, 200));
      getContentPane().add(textArea_1, BorderLayout.EAST);
  
  }
  </code></pre>
  
  <p>i tried using <code>Double.parseDouble(window.textField.getText());</code></p>
  
  <p>but that didn't work. How can I make it work?
  Thanks in advance.</p>