I have a JavaFX controller in which I modeled the CRUD operations that can be done on a Doctors table, insert, delete, read and modify. In another controller I manage the patient data and in a comboBox I show the list of doctors. I would like to make this comboBox dynamic, i.e. I would like its values to update every time I perform a CRUD operation on the other controller. I wrote this code:
DOCTOR CONTROLLER
public class MedicoController extends SplitPane {
private ObservableList<Medico> listaMedici;
public MedicoController(){
listaMedici = FXCollections.observableArrayList();
}
@FXML
public void clickOnButtonInserisci(){
Medico medico = Medico.builder().build();
//INSERT ON DB
Long res = mediciDao.inserisciMedico(medico);
listaMedici.add(medico);
}
public ObservableList<Medico> getListaMedici() {
return listaMedici;
}
}
PATIENTS CONTROLLER
public class DipendentiCreaController extends SplitPane{
@FXML
private ComboBox<Medico> comboBoxMedico;
private ObservableList<Medico> listaMedici;
private MedicoController medicoController;
public DipendentiCreaController(){
listaMedici = FXCollections.observableArrayList();
}
public void init(){
comboBoxMedico.setItems(listaMedici);
Bindings.bindContentBidirectional(listaMedici, medicoController.getListaMedici());
}
}
After entering a doctor in the database The comboBox in the patient controller is empty. What am I doing wrong? thank you