I'm trying to create a simple calculator but I get this error when I try to add the action performed to the button.
the method parsedouble string in the type double is not applicable for the arguments double
I get the error with number1, number2 and result, when I try to convert the text to double and the opposite.
I can't convert my JTextField to a String this will affect the frame I've created
Here is my Code: import java.awt.*;
public class ShowGridLayout extends JFrame { // Declaring the class
public ShowGridLayout() {
getContentPane().setLayout(new GridLayout(4,2));
JLabel label = new JLabel("First Number");
getContentPane().add(label);
JTextField text = new JTextField(8);
getContentPane().add(text);
JLabel label1 = new JLabel("Second Number");
getContentPane().add(label1);
JTextField text1 = new JTextField();
getContentPane().add(text1);
JLabel label2 = new JLabel("Result is");
getContentPane().add(label2);
JTextField text2 = new JTextField();
text2.setEditable(false);
getContentPane().add(text2);
JButton btn = new JButton("Click here");
getContentPane().add(btn);
setVisible(true);
setSize(400,200);
setResizable(false);
setLocationRelativeTo(null);
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
double number1, number2, result;
try {
number1 = Double.parseDouble(text);
number2 = Double.parseDouble(text1);
result = number1*number2;
text2.setText(Double.toString(result));
} catch(Exception e1){
JOptionPane.showMessageDialog(null, "Please add a number");
}
}
});
}
public static void main (String args[]) { // Creating the main method
ShowGridLayout frame = new ShowGridLayout();
}
}
答案 0 :(得分:1)
Use
number1 = Double.parseDouble(text.getText());
number2 = Double.parseDouble(text1.getText());
to parse the actual contents of the JTextField
.