javafx实例制作具有加减乘除功能的简易计算器。
时间: 2024-12-19 21:26:13 浏览: 6
在JavaFX中创建一个简易计算器,可以使用`javafx.scene.control`包下的控件如`Button`、`TextField`以及事件处理器来实现基本的加减乘除功能。以下是一个简单的步骤指南:
1. 导入所需的库:
```java
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
```
2. 创建主类并继承`Application`:
```java
public class Calculator extends Application {
private TextField display;
private double memory = 0;
// 其他计算按钮的方法和变量...
}
```
3. 初始化舞台和窗口布局:
```java
@Override
public void start(Stage primaryStage) {
display = new TextField();
display.setEditable(false);
Scene scene = new Scene(new VBox(
createButtons(),
createDisplay(display)),
400, 200,
Pos.CENTER);
primaryStage.setTitle("Calculator");
primaryStage.setScene(scene);
primaryStage.show();
}
```
4. `createButtons()` 方法用于生成加、减、乘、除等操作按钮,并绑定点击事件处理函数:
```java
private VBox createButtons() {
HBox buttons = new HBox();
Button addBtn = new Button("+", e -> doOperation("add"));
// 添加其他运算符按钮和相应的事件处理...
buttons.getChildren().addAll(addBtn, subtractBtn, multiplyBtn, divideBtn);
return buttons;
}
// doOperation方法中实现加减乘除的功能
private void doOperation(String operation) {
String userInput = display.getText();
double result = applyOperation(userInput, operation);
display.setText(Double.toString(result));
}
```
5. `applyOperation()` 函数处理具体的数学运算,这里仅提供基础示例:
```java
private double applyOperation(String expression, String op) {
if (op.equals("add")) {
return Double.parseDouble(expression) + memory;
} else if (op.equals("subtract")) {
return Double.parseDouble(expression) - memory;
} else if (op.equals("multiply")) {
return Double.parseDouble(expression) * memory;
} else if (op.equals("divide")) {
if (memory != 0) {
return Double.parseDouble(expression) / memory;
} else {
throw new ArithmeticException("Cannot divide by zero");
}
}
// 可能还有其他情况...
}
```
6. 当用户输入数字后,每按一次运算符按钮,都会触发`doOperation()`函数。
阅读全文