DefaultComboBoxModel?

6 respostas
R

Boa tarde amigos.

bem, como eu faço para se encher um jComboBox a partir de um ResultSet ?
eu to tentando de tudo qualquer modo e nao funciona.

Eu tenho uma classe chamada CadEstadoDao que faço o ArrayList e faço um for para percorrer
a lista e jogo esse resultado em outra classe onde fica meu formulario de cadastro de cliente

Só que não sei como fazer para jogar o resultado na classe do formulario, estou tentando com
jcuf.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “” }));

se alguem puder me ajudar ?
obrigado a todos. grande Abraço

6 Respostas

cloude

Boa Tarde Renato JR !!!

Da uma olhada nesse exemplo e ve se pode te ajudar
try
            { 
               while(con_estoque.resultset.next())

               cb_nomeproduto.addItem(con_estoque.resultset.getString("Nomeproduto"));

           

            }
            catch(SQLException erro)
            {
                JOptionPane.showMessageDialog(null,
                        "não foi possivel exibir os dados");        
            }
e so usar o addItem..
fmad27

Com o addItem você pode adicionar obejos também no combo,
Ex:

Cliente c1 = new Cliente();
combo.addItem(c1);

Porém para mostrar o nome na lista do combo ele vai usar o método toString da sua classe caso ele exista, se não ele usa o toString da classe Object. Portanto é importante implementar esse método.

Fernando_Generoso_da

Crie uma classe que implemente ComboBoxModel, que receba e manipule um List<String>.

Fernando

C

É que o DefaultComboBoxModel não tem como construtor um ArrayList, mas o Vector tem um construtor com paramentro que é uma collection, dai pode-se fazer algo como:

jcuf.setModel( new DefaultComboBoxModel( new Vector( TEU_ARRAYLIST ) ) );

deve solucionar o teu problema.

R

Boa Tarde.

Pessoal valeu mesmo deu pra dar uma luz, mais ainda não estou conseguindso montar o vetor para jogar no DefaultComboBoxModel.

Esse é meu list se alguem puder ajudar a montar o vetor eu agradeço eu agradeço.

public List listar()

{

List lista = new ArrayList();

CadEstado cadest1 = null;
try
    {
        PreparedStatement stm = conexaoestadodao.prepareStatement("SELECT UF, ESTADO FROM CADESTADO;");
        ResultSet rs = stm.executeQuery();

        while(rs.next())
        {
            cadest1 = new CadEstado();
            cadest1.setUF(rs.getString(1));
            cadest1.setEstado(rs.getString(2));
            lista.add(cadest1);
        }
        for(int i = 0; i < lista.toArray().length ; i++){
     
     }


        rs.close();
        stm.close();



    }catch(SQLException ex){

        JOptionPane.showMessageDialog(null, ex.getMessage(), "COMANDO SQL INCORRETO" , JOptionPane.ERROR_MESSAGE);
    }
    return lista;
}
R

RenatoJr:
Boa Tarde.

Pessoal valeu mesmo deu pra dar uma luz, mais ainda não estou conseguindso montar o vetor para jogar no DefaultComboBoxModel.

Esse é meu list se alguem puder ajudar a montar o vetor eu agradeço eu agradeço.

public List listar()

{

List lista = new ArrayList();

CadEstado cadest1 = null;
try
    {
        PreparedStatement stm = conexaoestadodao.prepareStatement("SELECT UF, ESTADO FROM CADESTADO;");
        ResultSet rs = stm.executeQuery();

        while(rs.next())
        {
            cadest1 = new CadEstado();
            cadest1.setUF(rs.getString(1));
            cadest1.setEstado(rs.getString(2));
            lista.add(cadest1);
        }
        for(int i = 0; i < lista.toArray().length ; i++){
     
     }


        rs.close();
        stm.close();



    }catch(SQLException ex){

        JOptionPane.showMessageDialog(null, ex.getMessage(), "COMANDO SQL INCORRETO" , JOptionPane.ERROR_MESSAGE);
    }
    return lista;
}

Criado 13 de abril de 2009
Ultima resposta 15 de abr. de 2009
Respostas 6
Participantes 5