用 Javafx编写一个能够进行四则运算的计算器放在一个 class 内并能用 jdk 8版本运行用 Javaapplication
时间: 2024-09-15 19:08:34 浏览: 40
在JavaFX中创建一个简单的四则运算计算器,首先你需要导入必要的库,并在一个名为CalculatorApplication的`public static void main(String[] args)`方法内开始程序。下面是一个简单的示例:
```java
import javafx.application.Application;
import javafx.geometry.Insets;
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 CalculatorApplication extends Application {
private TextField inputNum1, inputNum2;
private Label resultLabel;
private Button addButton, subtractButton, multiplyButton, divideButton;
@Override
public void start(Stage primaryStage) {
// 初始化窗口
primaryStage.setTitle("简单计算器");
GridPane root = new GridPane();
root.setPadding(new Insets(10));
root.setVgap(5);
root.setHgap(10);
// 创建输入框和结果标签
inputNum1 = new TextField();
inputNum2 = new TextField();
resultLabel = new Label();
// 创建操作按钮
addButton = createButton("+", (n1, n2) -> calculate(n1.getText(), n2.getText()));
subtractButton = createButton("-", (n1, n2) -> calculate(n1.getText(), n2.getText()));
multiplyButton = createButton("*", (n1, n2) -> calculate(n1.getText(), n2.getText()));
divideButton = createButton("/", (n1, n2) -> calculate(n1.getText(), n2.getText()));
// 将元素添加到GridPane
root.add(inputNum1, 0, 0);
root.add(inputNum2, 1, 0);
root.add(addButton, 0, 1);
root.add(subtractButton, 1, 1);
root.add(multiplyButton, 0, 2);
root.add(divideButton, 1, 2);
root.add(resultLabel, 0, 3, 2, 1);
Scene scene = new Scene(root, 400, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
// 创建带操作符的按钮并提供回调函数
private Button createButton(String operator, UnaryOperator<String> operation) {
Button button = new Button(operator);
button.setOnAction(e -> {
String num1 = inputNum1.getText();
String num2 = inputNum2.getText();
if (!num1.isEmpty() && !num2.isEmpty()) {
resultLabel.setText(operation.apply(num1) + " " + operator + " " + num2 + " = ");
inputNum1.clear();
inputNum2.clear();
}
});
return button;
}
// 虚拟方法,用于演示如何处理四则运算的实际计算逻辑
protected abstract double calculate(String num1, String num2);
public static void main(String[] args) {
launch(args);
}
}
// UnaryOperator接口用于定义操作数只有一个的操作
interface UnaryOperator<T> {
T apply(T value);
}
```
这个示例展示了如何在JavaFX中创建一个基础的计算器应用,包含了加、减、乘、除的功能。请注意,这只是一个基础的框架,实际的四则运算需要将`calculate`方法实现为真正的数学运算,这里仅作展示用途。
阅读全文