Как написать калькулятор на javafx?

Пользователь

от jakayla , в категории: Java , 2 года назад

Как написать калькулятор на javafx?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hattie , 2 года назад

@jakayla 

Чтобы написать калькулятор на JavaFX, вам нужно будет создать проект JavaFX, добавить компоненты управления в окно приложения, такие как кнопки и текстовое поле, и реализовать логику калькулятора.


Сначала создайте новый проект JavaFX в своей среде разработки. Затем откройте файл fx:application и добавьте элементы управления, такие как кнопки и текстовое поле, в граф сцены. Добавьте события нажатия на кнопки, чтобы обрабатывать ввод пользователя.


Далее реализуйте логику калькулятора. Это может включать в себя разбор введенного выражения, выполнение математических операций и отображение результата в текстовом поле.


Ниже приведен пример кода, который демонстрирует, как это может выглядеть:

1
2
3
4
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.


Пользователь

от jeremy_larkin , год назад

@jakayla 

control.TextField; import javafx.scene.layout.GridPane; import javafx.stage.Stage;


public class Calculator extends Application {

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
private TextField display;

public static void main(String[] args) {
    launch(args);
}

@Override
public void start(Stage primaryStage) {
    primaryStage.setTitle("Calculator");

    GridPane gridPane = new GridPane();
    gridPane.setHgap(10);
    gridPane.setVgap(10);

    // Создание текстового поля для отображения введенных чисел и результата
    display = new TextField();
    display.setEditable(false);

    // Создание кнопок и добавление обработчиков событий
    Button button1 = new Button("1");
    button1.setOnAction(e -> appendToDisplay("1"));

    Button button2 = new Button("2");
    button2.setOnAction(e -> appendToDisplay("2"));

    Button button3 = new Button("3");
    button3.setOnAction(e -> appendToDisplay("3"));

    Button addButton = new Button("+");
    addButton.setOnAction(e -> appendToDisplay("+"));

    Button subtractButton = new Button("-");
    subtractButton.setOnAction(e -> appendToDisplay("-"));

    Button equalsButton = new Button("=");
    equalsButton.setOnAction(e -> evaluate());

    Button clearButton = new Button("C");
    clearButton.setOnAction(e -> display.clear());

    // Размещение элементов на сетке
    gridPane.add(display, 0, 0, 4, 1);
    gridPane.add(button1, 0, 1);
    gridPane.add(button2, 1, 1);
    gridPane.add(button3, 2, 1);
    gridPane.add(addButton, 3, 1);
    gridPane.add(subtractButton, 3, 2);
    gridPane.add(equalsButton, 2, 2);
    gridPane.add(clearButton, 0, 2);

    // Создание сцены
    Scene scene = new Scene(gridPane, 300, 200);
    primaryStage.setScene(scene);
    primaryStage.show();
}

private void appendToDisplay(String text) {
    display.setText(display.getText() + text);
}

private void evaluate() {
    String expression = display.getText();
    // Реализуйте здесь логику выполнения математических операций
    // и отображения результата в текстовом поле
}


}


Помните, что этот код лишь основа для вашего калькулятора, и вы можете изменить его по своему усмотрению, добавляя другие кнопки и функции, такие как деление, умножение и т. д.