Olá, pessoal!
Fiz um formulário em JavaFx e o comboBox realiza a listagem normalmente de um Objeto Professor, porém quando tento selecionar um item, não consigo, fica sempre no primeiro nome da lista.
Fiz o seguinte código:
// Variáveis:
@FXML
private ComboBox<Professor> comboBoxProfessor;
private ObservableList<Professor> obsListaProfessor;
private ProfessorService professorService;
//Atualiza Dados do Form:
if(entidadeTurma.getProfessor() == null) {
comboBoxProfessor.getSelectionModel().selectFirst();
}
else {
comboBoxProfessor.setValue(entidadeTurma.getProfessor());
}
//Carrega os dados do Objeto Professor
List<Professor> listaProfessor = professorService.getTodos();
obsListaProfessor = FXCollections.observableList(listaProfessor);
comboBoxProfessor.setItems(obsListaProfessor);
// inicializa o comboBox do Professor:
Callback<ListView<Professor>,ListCell<Professor>> factoryProfessor = listView -> new ListCell<Professor>() {
@Override
protected void updateItem(Professor item, boolean empty) {
super.updateItem(item, empty);
if(!empty) {
setText(item.getNome());
} else {
setText("");
}
}
};
comboBoxProfessor.setCellFactory(factoryProfessor);
comboBoxProfessor.setButtonCell(factoryProfessor.call(null));
O que eu faria para que o comboBox aceite o clique e selecione o nome professor?
Muito obrigada pela atenção!