javafx编写一个计算加减乘除的代码
时间: 2024-01-21 20:16:56 浏览: 70
下面是一个简单的 JavaFX 计算器示例,实现加、减、乘、除四种基本运算:
```java
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class Calculator extends Application {
private TextField tfNumber1 = new TextField();
private TextField tfNumber2 = new TextField();
private TextField tfResult = new TextField();
@Override
public void start(Stage primaryStage) {
GridPane gridPane = new GridPane();
gridPane.setAlignment(Pos.CENTER);
gridPane.setHgap(5);
gridPane.setVgap(5);
Label lbNumber1 = new Label("Number 1:");
Label lbNumber2 = new Label("Number 2:");
Label lbResult = new Label("Result:");
Button btnAdd = new Button("+");
btnAdd.setOnAction(e -> add());
Button btnSubtract = new Button("-");
btnSubtract.setOnAction(e -> subtract());
Button btnMultiply = new Button("*");
btnMultiply.setOnAction(e -> multiply());
Button btnDivide = new Button("/");
btnDivide.setOnAction(e -> divide());
tfNumber1.setAlignment(Pos.BASELINE_RIGHT);
tfNumber2.setAlignment(Pos.BASELINE_RIGHT);
tfResult.setAlignment(Pos.BASELINE_RIGHT);
tfResult.setEditable(false);
gridPane.add(lbNumber1, 0, 0);
gridPane.add(tfNumber1, 1, 0);
gridPane.add(lbNumber2, 0, 1);
gridPane.add(tfNumber2, 1, 1);
gridPane.add(btnAdd, 0, 2);
gridPane.add(btnSubtract, 1, 2);
gridPane.add(btnMultiply, 0, 3);
gridPane.add(btnDivide, 1, 3);
gridPane.add(lbResult, 0, 4);
gridPane.add(tfResult, 1, 4);
Scene scene = new Scene(gridPane, 300, 200);
primaryStage.setTitle("Calculator");
primaryStage.setScene(scene);
primaryStage.show();
}
private void add() {
double number1 = Double.parseDouble(tfNumber1.getText());
double number2 = Double.parseDouble(tfNumber2.getText());
double result = number1 + number2;
tfResult.setText(String.format("%.2f", result));
}
private void subtract() {
double number1 = Double.parseDouble(tfNumber1.getText());
double number2 = Double.parseDouble(tfNumber2.getText());
double result = number1 - number2;
tfResult.setText(String.format("%.2f", result));
}
private void multiply() {
double number1 = Double.parseDouble(tfNumber1.getText());
double number2 = Double.parseDouble(tfNumber2.getText());
double result = number1 * number2;
tfResult.setText(String.format("%.2f", result));
}
private void divide() {
double number1 = Double.parseDouble(tfNumber1.getText());
double number2 = Double.parseDouble(tfNumber2.getText());
if (number2 == 0) {
tfResult.setText("Error: Division by zero");
} else {
double result = number1 / number2;
tfResult.setText(String.format("%.2f", result));
}
}
public static void main(String[] args) {
launch(args);
}
}
```
该程序使用 GridPane 布局,包含三个文本框(用于输入两个操作数和显示结果)和四个按钮(用于执行加、减、乘、除四种基本运算)。每个按钮都有一个对应的操作方法,用于执行相应的运算并将结果显示在结果文本框中。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)