1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

ComboBox JavaFX - Visualizar Nome

Olá galera, estou com um problema enquanto ao usar o componente ComboBox em JavaFX. Estou usando o comboBox para listar os Clientes armazenados dentro do Banco de Dados, porém em vez de aparecer o nome do cliente dentro do comboBox, aparece apenas o valor de memoria onde ela está gravado... já pesquisei em vários lugares da internet porém não achei nenhuma solução.

Segue a imagem do que está acontecendo:

https://www.filepicker.io/api/file/2zZcvu3SQdmQh9oDju0l

Há parte vermelha mostra a lista de cliente, porém um valor de memoria.

Class Cadastro do ClienteController:

 @FXML
    private ComboBox<Cliente> pesquisarCBox;

    private ClienteDao clienteModel = new ClienteDao();
    private AppGeral appGeral;

    @FXML
    private void initialize() {
         // Detecta mudanças na seleção
    pesquisarCBox.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> showClienteDetalhes(newValue));
    }

    public void setAppGeral(AppGeral appGeral) {
          this.appGeral = appGeral;

          pesquisarCBox.setItems(appGeral.getClienteDetalhe());
    }

Class Cliente:

private static ClienteDao clienteModel = new ClienteDao();
    public static ObservableList<Cliente> clienteDetalhe = FXCollections.observableArrayList(clienteModel.getContatos());

        private final StringProperty ID;
    private final StringProperty nome;
    private final StringProperty cidade;
    private final StringProperty bairro;
    private final StringProperty endereco;
    private final StringProperty numero;
    private final StringProperty complemento;
    private final StringProperty UF;
    private final StringProperty telefone;
    private final StringProperty celular;
    private final StringProperty dependentes;

        // Metodos getters e setters....

Class ClienteDao:

    // Lista os clientes do banco de dados
    public List<Cliente> getContatos() { 
        Connection conn = null; 
        PreparedStatement pstm = null; 
        ResultSet rs = null; 
        ArrayList<Cliente> clientes = new ArrayList<Cliente>(); 
        try { 
            conn = FabricaConexao.getConexao(); 
            pstm = conn.prepareStatement(LIST); 
            rs = pstm.executeQuery(); 
            while (rs.next()) { 

                Cliente cliente = new Cliente(); 

                cliente.setID(rs.getString("id")); 
                cliente.setNome(rs.getString("nome")); 
                cliente.setCidade(rs.getString("cidade"));
                cliente.setBairro(rs.getString("bairro"));
                cliente.setEndereco(rs.getString("endereco")); 
                cliente.setNumero(rs.getString("numero")); 
                cliente.setComplemmento(rs.getString("complemento"));
                cliente.setUF(rs.getString("uf"));
                cliente.setTelefone(rs.getString("telefone")); 
                cliente.setCelular(rs.getString("celular")); 
                cliente.setDependentes(rs.getString("dependentes"));
                clientes.add(cliente); 
                } 
            FabricaConexao.fechaConexao(conn, pstm, rs); }
        catch (Exception e) { 
                System.out.println("Erro ao listar clientes" + e.getMessage()); 
                } 
        return clientes; 
    }

Então alguém sabe alguma forma de mostrar no comboBox o nome do Cliente? Lembrando que o objeto cliente está sendo passado ao Observable List...

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags javafx ou faça a sua própria pergunta.