【发布时间】:2018-08-14 01:52:54
【问题描述】:
我正在尝试制作一个带有图形用户界面的简单计算器;但是,我无法从文本字段中添加两个值。每次我尝试计算这些值时,我都会收到一个异常。有人可以帮我解决这个问题吗?我对Java相当陌生,我愿意接受反馈和建议。例外情况如下。
谢谢,
凯尔
public class Calculator extends Application
{
private Label firstValue;
private Label secondValue;
private Label sum;
private Button myButton;
private TextField textSum;
private TextField textFirst;
private TextField textSecond;
public String calculation()
{
String getTextFirst = textFirst.getText();
String getTextSecond = textSecond.getText();
int total = Integer.parseInt(getTextFirst) +
Integer.parseInt(getTextSecond);
String realTotal = String.valueOf(total);
return realTotal;
}
public void start(Stage myStage)
{
myStage.setTitle("Simple Calculator");
GridPane rootNode = new GridPane();
rootNode.setAlignment(Pos.CENTER);
rootNode.setPadding(new Insets(30));
Scene myScene = new Scene (rootNode, 400 , 300);
firstValue = new Label ("First Value: ");
secondValue = new Label ("Second Value: ");
sum = new Label ("Sum is: ");
textFirst = new TextField();
textSecond = new TextField();
textSum = new TextField();
textSum.setEditable(false);
myButton = new Button ("Calculate");
rootNode.add(firstValue, 1, 0);
rootNode.add(textFirst, 2, 0);
rootNode.add(secondValue, 1, 1);
rootNode.add(textSecond, 2, 1);
rootNode.add(sum, 1, 2);
rootNode.add(textSum, 2, 2);
rootNode.add(myButton, 2, 3);
myButton.setOnAction(new ButtonHandler());
myStage.setScene(myScene);
myStage.show();
}
class ButtonHandler implements EventHandler<ActionEvent>
{
public void handle(ActionEvent e)
{
Calculator finalTotal = new Calculator();
myButton.setText("Calculating");
textSum.setText(finalTotal.calculation());
}
}
public static void main(String[] args)
{
launch(args);
}
}
Exception in thread "JavaFX Application Thread"
java.lang.NullPointerException
at Calculator.calculation(Calculator.java:22)
at Calculator$ButtonHandler.handle(Calculator.java:75)
at Calculator$ButtonHandler.handle(Calculator.java:1)
【问题讨论】:
-
您真的需要在动作处理程序中创建
Calculator的新实例吗? -
你应该分享异常是什么
-
寻求调试帮助的问题(“导致异常”)必须包括所需的行为、特定问题或错误以及重现所需的最短代码它在问题本身。没有明确问题陈述的问题对其他读者没有用处。见:minimal reproducible example