javafx设计计算器的简易计算课程设计
时间: 2023-10-26 22:07:22 浏览: 77
以下是一个简单的 JavaFX 计算器设计课程:
1. 创建一个新的 JavaFX 项目。
2. 创建一个新的 JavaFX 窗体。
3. 在窗体中添加文本框和按钮。
4. 创建一个类来处理计算器的逻辑。
5. 在类中添加方法来处理计算器的各种操作,例如加法、减法、乘法和除法。
6. 在按钮的事件处理程序中调用适当的方法。
7. 在文本框中显示结果。
以下是一个简单的 JavaFX 计算器示例代码:
```java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class Calculator extends Application {
private TextField textField;
private String operator = "";
private double operand1 = 0;
private double operand2 = 0;
@Override
public void start(Stage primaryStage) throws Exception {
GridPane gridPane = new GridPane();
textField = new TextField();
textField.setEditable(false);
gridPane.add(textField, 0, 0, 4, 1);
Button button1 = new Button("1");
button1.setOnAction(event -> textField.setText(textField.getText() + "1"));
gridPane.add(button1, 0, 1);
Button button2 = new Button("2");
button2.setOnAction(event -> textField.setText(textField.getText() + "2"));
gridPane.add(button2, 1, 1);
Button button3 = new Button("3");
button3.setOnAction(event -> textField.setText(textField.getText() + "3"));
gridPane.add(button3, 2, 1);
Button buttonPlus = new Button("+");
buttonPlus.setOnAction(event -> {
operator = "+";
operand1 = Double.parseDouble(textField.getText());
textField.clear();
});
gridPane.add(buttonPlus, 3, 1);
Button button4 = new Button("4");
button4.setOnAction(event -> textField.setText(textField.getText() + "4"));
gridPane.add(button4, 0, 2);
Button button5 = new Button("5");
button5.setOnAction(event -> textField.setText(textField.getText() + "5"));
gridPane.add(button5, 1, 2);
Button button6 = new Button("6");
button6.setOnAction(event -> textField.setText(textField.getText() + "6"));
gridPane.add(button6, 2, 2);
Button buttonMinus = new Button("-");
buttonMinus.setOnAction(event -> {
operator = "-";
operand1 = Double.parseDouble(textField.getText());
textField.clear();
});
gridPane.add(buttonMinus, 3, 2);
Button button7 = new Button("7");
button7.setOnAction(event -> textField.setText(textField.getText() + "7"));
gridPane.add(button7, 0, 3);
Button button8 = new Button("8");
button8.setOnAction(event -> textField.setText(textField.getText() + "8"));
gridPane.add(button8, 1, 3);
Button button9 = new Button("9");
button9.setOnAction(event -> textField.setText(textField.getText() + "9"));
gridPane.add(button9, 2, 3);
Button buttonMultiply = new Button("*");
buttonMultiply.setOnAction(event -> {
operator = "*";
operand1 = Double.parseDouble(textField.getText());
textField.clear();
});
gridPane.add(buttonMultiply, 3, 3);
Button buttonClear = new Button("C");
buttonClear.setOnAction(event -> textField.clear());
gridPane.add(buttonClear, 0, 4);
Button button0 = new Button("0");
button0.setOnAction(event -> textField.setText(textField.getText() + "0"));
gridPane.add(button0, 1, 4);
Button buttonDecimal = new Button(".");
buttonDecimal.setOnAction(event -> textField.setText(textField.getText() + "."));
gridPane.add(buttonDecimal, 2, 4);
Button buttonDivide = new Button("/");
buttonDivide.setOnAction(event -> {
operator = "/";
operand1 = Double.parseDouble(textField.getText());
textField.clear();
});
gridPane.add(buttonDivide, 3, 4);
Button buttonEquals = new Button("=");
buttonEquals.setOnAction(event -> {
operand2 = Double.parseDouble(textField.getText());
double result = 0;
switch (operator) {
case "+":
result = operand1 + operand2;
break;
case "-":
result = operand1 - operand2;
break;
case "*":
result = operand1 * operand2;
break;
case "/":
result = operand1 / operand2;
break;
}
textField.setText(Double.toString(result));
});
gridPane.add(buttonEquals, 2, 5);
Scene scene = new Scene(gridPane, 200, 250);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
此代码实现了一个简单的带有加、减、乘、除功能的计算器。