private class CalculateButtonHandler implements ActionListener{
public CalculateButtonHandler(JTextField initialAmmount, JTextField yearsToMaturity, JTextField interestRate){
double endingBalance;
String text = interestRate.getText();
int interestRateInt = Integer.parseInt(text);
String text1 = yearsToMaturity.getText();
int yearsToMaturityInt = Integer.parseInt(text);
String text2 = initialAmount.getText();
int initialAmountInt = Integer.parseInt(text);
endingBalance = initialAmountInt * Math.pow((1 + interestRateInt/1), 1 * yearsToMaturityInt);
}
public void actionPerformed(ActionEvent e){
}
}
当前运行时错误: 异常线程“main” java.lang.NumberFormatException:对于输入字符串:“”检查空的JTextField用户输入之前
我假设的运行 - 发生时间错误是因为程序运行时没有输入,用户没有机会输入要解析为int的字符串。我无法弄清楚如何检查这一点。
一个简单的解决方案可以是,假设它发生在按钮点击,禁用按钮,直到输入所有有效的输入。 – 2015-04-04 10:17:39
考虑使用'JSpinner'和['SpinnerNumberModel'](https://docs.oracle.com/javase/8/docs/api/javax/swing/SpinnerNumberModel.html)而不是'JTextField'。 – 2015-04-04 10:28:36
顺便说一句,在你的代码中有一个错字 - 你使用Integer.parseInt(文本)三次,即使这些变量被命名为text,text1和text2。 – 2015-04-04 13:00:37