/
Maksim_Shchelochok
/
Course_Work
Обзор
Документация
Войти
/
Maksim_Shchelochok
/
Course_Work
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/view/Input.java
49 строк
2 KB
Maksim
Создан диалог ввода для операций Создать/Изменить
21 июн 2026, 18:43
21 июн 2026, 18:43
1963f42
Код
Авторство
О чём код?
package view; import javafx.geometry.Insets; import javafx.scene.control.ButtonType; import javafx.scene.control.Dialog; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; import java.util.ArrayList; import java.util.List; public class Input extends Dialog<List<String>> { private final List<TextField> fields = new ArrayList<>(); public Input(String title, String[] labels, String[] initValues) { this.setTitle(title); GridPane grid = new GridPane(); grid.setHgap(10); grid.setVgap(10); grid.setPadding(new Insets(20)); for (int i = 0; i < labels.length; i++) { TextField field = new TextField(); if (initValues != null && i < initValues.length && initValues[i] != null) { field.setText(initValues[i]); } fields.add(field); grid.add(new Label(labels[i]), 0, i); grid.add(field, 1, i); } this.getDialogPane().setContent(grid); this.getDialogPane().getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL); // При нажатии "ОК" собираем значения всех полей в список строк. this.setResultConverter(buttonType -> { if (buttonType == ButtonType.OK) { List<String> result = new ArrayList<>(); for (TextField f : fields) { result.add(f.getText()); } return result; } return null; //нажали Cancel }); } }