У меня есть текстовое поле, в котором я хочу динамически изменить список автозаполнения.Весь этот код находится в методе инициализации моего контроллера.
Это исходное назначение при первом запуске программы: (nomi - текстовое поле, listaNomi - ObservableList
listaNomi = OperatoreDAO.cercaNomiOp(attuale);
TextFields.bindAutoCompletion(nomi,listaNomi);
Это работает, но теперь я хочу изменить содержимое списка, когда я выбираю один из двух различных RadioButton (метод OperatoreDAO.cercaNomiOp принимает RadioButton в качестве аргумента)
contrattoGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Toggle> ov, Toggle t, Toggle t1) {
RadioButton selez = (RadioButton)t1.getToggleGroup().getSelectedToggle();
try {
listaNomi = OperatoreDAO.cercaNomiOp(selez);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
Мне пришлось поставить ObservableList<String> listaNomi = FXCollections.observableArrayList();
вне метода инициализациипричина говорит, что локальная переменная должна быть конечной. Теперь она не говорит об ошибке, но если я изменю переключатель, список останется таким же, как и при инициализации.