Пишу программу на JavaFX и Scene Builder
У меня имеется combobox и label.
Как применить выбранный размер шрифта к лейблу?
Так как размеров много, как это сделать с помощью оператора switch для лучшей читаемости кода?
@FXML private Label fontLabel;
@FXML private ComboBox<String> size;
//create array of font sizes
ObservableList<String> fontSizes= FXCollections.observableArrayList("8", "10",
"11", "12", "14", "16", "18","20", "24", "30", "36", "40", "48", "60",
72");
@Override
public void initialize(URL location, ResourceBundle resources) {
size.setItems(fontSizes);
}
Нашёл решение:
@FXML private Label fontLabel;
@FXML private ComboBox<String> size;
//create array of font sizes
ObservableList<String> fontSizes= FXCollections.observableArrayList("8", "10",
"11", "12", "14", "16", "18","20", "24", "30", "36", "40", "48", "60",
"72");
@FXML
public void initialize() {
size.setItems(fontSizes);
size.setOnAction(e-> updateLabel());
}
private void updateLabel() {
double fontSize = Double.valueOf(size.getSelectionModel().getSelectedItem());
fontLabel.setFont( new Font(fontSize ));
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей