我试图创建一个简单的计算器,但当我尝试将操作添加到按钮时出现此错误。该方法parsedouble双字符串类型double不适用于参数double
在double类型的方法parsedouble串不适用于参数双
我与数字1,数字和结果的错误,当我尝试加倍的文本,相反转换。
我无法将JTextField中转换为字符串这会影响我创建
这里的框架是我的代码: 进口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();
}
}
'text'是一个'JTextField',而不是'String'。你不能在'JTextField'上使用'Double.parseDouble',你必须在'JTextField'的_contents_上使用它,你必须提取它。 –
嗨路易斯,你能解释更多关于提取物吗? –