Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Preenchimento JComboBox - Netbeans

Boa noite pessoal,

Cá estou eu me aventurando nos meus projetos pessoais e por bobeira minha, está ocorrendo um erro idiota que eu não lembro como resolvi. Inclusive já abri um tópico aqui na alura sobre esse mesmo problema

Porém eu mesmo tinha resolvido sozinho, mas como já tem um tempo e já fiz mais uns 10 projetos pequenos eu acabo esquecendo alguns detalhes bobos.

Então, o problema é o seguinte. Eu estou preenchendo a JComboBox porém onde deveria aparecer por exemplo "RG", "CNH" e "CPF" está aparecendo por exemplo: model.TipoDocumento@238042 (ou algo parecido), ou seja, aparecendo apenas o serial do retorno.

Eu lembro que foi preciso fazer uma conversão no retorno para resolver, mas não lembro em que retorno foi esse que foi feita a conversão.

Alguém poderia me dar uma luz?

Método responsável por carregar o jcombobox

     public List<TipoDocumento> read() {

        Connection con = ConnectionFactory.getConnection();

        PreparedStatement stmt = null;
        ResultSet rs = null;

        List<TipoDocumento> tipodocumentos = new ArrayList<>();

        String sql = "select * from tipo_documento";

        try {
            stmt = con.prepareStatement(sql);
            rs = stmt.executeQuery();

            while (rs.next()) {

                TipoDocumento tipodocumento = new TipoDocumento();

                tipodocumento.setId(rs.getInt("id"));
                tipodocumento.setDocumento(rs.getString("documento"));
                tipodocumentos.add(tipodocumento);
            }

        } catch (SQLException ex) {
            Logger.getLogger(TipoDocumentoDAO.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            ConnectionFactory.closeConnection(con, stmt, rs);
        }

        return tipodocumentos;
     }

Inicialização do JComboBox

        //INICIALIZAÇÃO DO JCOMBOBOX
        TipoDocumentoDAO dao = new TipoDocumentoDAO();

        for(TipoDocumento td: dao.read()){
            jComboBoxTipoDocumento.addItem(td);
        }
1 resposta
solução!

Parece piada mas logo depois que postei a pergunta eu achei a solução, caso alguém tenha o mesmo problema futuramente, a solução é:

  • Na classe de modelo referente aos métodos em questão, ao final da classe crie o seguinte código:
    @Override
    public String toString() {
        return getDocumento(); //To change body of generated methods, choose Tools | Templates.
    }

no "getDocumento" você irá sempre substituir pelo que está retornando na jComboBox.