У меня есть контроллер, как это:Связывание с JavaFX свойств объекта, который может быть нулевым
public class ItemController {
@FXML TextField name;
@FXML TextField description;
private City city = null;
@FXML public void initialize() {
name.textProperty().bind(city.nameProperty());
description.textProperty().bind(city.descriptionProperty());
}
public void searchById(int idCity) {
//get a city by its id, it returns null if not found
city = Backend.getCity(idCity);
}
}
Как вы видите, город изначально присвоен нулевой, и searchById присваивает ему новое значение, я хочу создайте привязку к свойствам города, когда оно имеет допустимое значение, но оно не задает свойства текста пустым (возможно, не привязывая поля, но я не уверен) и отключить поля, но у меня нет хорошей идеи, как для этого, заранее за помощь.
Вашего связывания не будет работать, даже если '' международная была не пустым: при изменении ' город ', текстовое поле все равно было бы привязано к имени старого города. Вам нужно сделать «city» и наблюдаемое свойство и, возможно, использовать стороннюю библиотеку привязки, такую как [EasyBind] (https://github.com/TomasMikula/EasyBind) или функциональность привязки в [ReactFX] (https: // github .com/TomasMikula/ReactFX). –