/
Shalva
/
Lab1_Converter
Обзор
Документация
Войти
/
Shalva
/
Lab1_Converter
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/com/example/lab1/ConverterController.java
70 строк
2 KB
Kvaratskheliia Shalva
Добавлен исходный код проекта Lab1_Converter
14 июн 2026, 16:42
14 июн 2026, 16:42
ece3e5b
Код
Авторство
О чём код?
package com.example.lab1; import javafx.collections.FXCollections; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.ComboBox; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.paint.Color; import java.net.URL; import java.util.ResourceBundle; public class ConverterController implements Initializable { @FXML private TextField inputField; @FXML private ComboBox<String> fromComboBox; @FXML private ComboBox<String> toComboBox; @FXML private Label resultLabel; private ConverterModel model; @Override public void initialize(URL url, ResourceBundle resourceBundle) { model = new ConverterModel(); String[] units = {"МЕТРЫ", "КИЛЛОМЕТРЫ", "МИЛЛИМЕТРЫ"}; fromComboBox.setItems(FXCollections.observableArrayList(units)); toComboBox.setItems(FXCollections.observableArrayList(units)); fromComboBox.getSelectionModel().selectFirst(); toComboBox.getSelectionModel().select(1); String boxStyle = "-fx-font-size: 18px; -fx-text-fill: #A8C7FA; -fx-font-weight: bold; -fx-border-color: #A8C7FA;" + "-fx-border-radius: 8.0; -fx-background-radius: 8.0"; fromComboBox.setStyle(boxStyle); toComboBox.setStyle(boxStyle); } @FXML private void handleConvertButtonClick() { String inputText = inputField.getText().trim(); if (inputText.isEmpty()) { showError("ВЫ НИЧЕГО НЕ ВВЕЛИ!"); return; } try { inputText = inputText.replace(',', '.'); double value = Double.parseDouble(inputText); String fromUnit = fromComboBox.getValue(); String toUnit = toComboBox.getValue(); double result = model.convert(value, fromUnit, toUnit); resultLabel.setTextFill(Color.BLACK); resultLabel.setText(String.format("%.4f %s = %.4f %s", value, fromUnit, result, toUnit)); } catch (NumberFormatException e) { showError("ОШИБКА: ВВЕДИТЕ ЧИСЛО!"); } } private void showError(String message) { resultLabel.setTextFill(Color.RED); resultLabel.setText(message); } }