Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Калькулятор на JavaFX

Анушервони Ахмадшох Ученик (213), на голосовании 10 месяцев назад
Надо написать калькулятор на JavaFX, обрабатывающий все арифметические операции, но в моем коде результаты операций по какой-то причине не отображаются в метке OutputOfCalc. Раньше я использовал метод getValue() для получения текущего элемента из ComboBox, но это не работало и заменил метод на getSelectionModel(), и всё равно не работает. В чем может быть причина?

Код

import java.net .URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;

public class CalculatorController implements Initializable {

@FXML
private TextField TextFieldX;
@FXML
private ComboBox<String> ComboOperetor;
@FXML
private TextField TextFieldY;
@FXML
private Label OutputOfCalc;

@Override
public void initialize(URL url, ResourceBundle rb) {
this.ComboOperetor.getItems().addAll("+", "-", "*", "/", "^");
this.ComboOperetor.getSelectionModel().selectFirst();
}

@FXML
public void clc() {
Double z = 0.0;
Double x = Double.parseDouble(this.TextFieldX.getText());
Double y = Double.parseDouble(this.TextFieldY.getText());

String operator = this.ComboOperetor.getSelectionModel().getSelectedItem();

switch (operator) {
case "+":
z = x + y;
break;
case "-":
z = x - y;
break;
case "*":
z = x * y;
break;
case "/":
if (y != 0) {
z = x / y;
} else {
this.OutputOfCalc.setText("Ошибка: Делить на ноль нельзя!");
return;
}
break;
case "^":
z = Math.pow(x, y);
break;
}
this.OutputOfCalc.setText(z.toString());
}
}
Голосование за лучший ответ
Оракул Оракул (62085) 11 месяцев назад
Получение выбранного значения - getValue()
Если у вас не работает, значит причина в чем-то другом
Не связан визуальный элемент с полем возможно
Анушервони АхмадшохУченик (213) 11 месяцев назад
getValue() для ComboBox не работает, там другой метод я указал же
Оракул Оракул (62085) Анушервони Ахмадшох, а должен getValue()
Похожие вопросы