Retorno lista array para jcombo

6 respostas
C

Pessoal tenho um método abaixo que retorna usuários de um campo da minha tabela.

public List<Usuarios> getListajCombo() throws SQLException{
	    String sql = "Select idUsuario from usuarios";
	    PreparedStatement stmt = conexao.prepareStatement(sql);
	    ResultSet rs = stmt.executeQuery();

	    List<Usuarios> minhaLista = new ArrayList<Usuarios>();

	  while(rs.next()){

	      Usuarios c2 = new Usuarios();	     
	      c2.setUsuario(rs.getString("idUsuario"));
	     
	      minhaLista.add(c2);
	  }
	    rs.close();
	    stmt.close();

	    return minhaLista;

	}

Gostaria de retornar essa lista um uma jcombo quando iniciar meu Jframe, como eu faço?

  [code]initComponents();
        this.setLocationRelativeTo(null);
        //ADD lista na jcombo

}[/code]

6 Respostas

EHS

Vc tem que usar o Iterator, da uma pesquisa sobre isso.

C

Dei uma olhada nos foruns e tentei "chutar" algo, não retornou nenhum erro o codigo abaixo:

public jFrameLogin() throws SQLException {
      
        initComponents();
        this.setLocationRelativeTo(null);
       
        this.jComboBox.removeAll();
        ManipulaDAO lst = new  ManipulaDAO();
        Iterator i = lst.getListajCombo().iterator();
                while(i.hasNext()) {
                    this.jComboBox.addItem(String.valueOf(i.next()));
                }
    
    }

Mais na combo retornou 2 valores nada haver com o que está no banco inclusive com o nome de um do meus pacotes..coisa de loco...rsrs
Retornou dentro da CB:

ClassesStaticas.Usuarios@1004901
ClassesStaticas.Usuarios@1b90b39

EHS

Está retornando isso porque vc está exibindo o objeto inteiro, veja esse exemplo

produtoDAO = new ProdutoDAO(); mostraProduto = new Produto(); lista = produtoDAO.getProdutos(); it = lista.iterator(); while(it.hasNext()) { mostraProduto = (Produto) it.next(); listaProduto.add(mostraProduto); }

C

Desculpa o meu deficit mental…rs
…esse mostraproduto = new produto, que eu não entendi.

no meu caso eu preciso instanciar oque? a minha lista já está pronta não é?

C

Bom, consegui fazer de uma forma mais simples apenas retornei minha consulta direto para o jcom não precisei da ArrayLista.

Valeuu

EHS

CaioNascimento:
Desculpa o meu deficit mental…rs
…esse mostraproduto = new produto, que eu não entendi.

no meu caso eu preciso instanciar oque? a minha lista já está pronta não é?

O mostraProduto não é uma lista, ele é um objeto do tipo Produto, e no exemplo acima esqueci de adicionar no combo, então aqui vai outro comentado.

//Retorna lista de produtos lista = produtoDAO.getProdutos(); it = lista.iterator(); //Enqunato tiver próximo registro na lista... while(it.hasNext()) { //Objeto produto recebe um produto da lista ou recebe um item da lista produto = (Produto) it.next();
//Adiciona o preço do produto na comboBox
comboBox.addItem(poduto.getPreco().toString());
}

CaioNascimento, se tiver resolvido posta o código e coloca no título [RESOLVIDO].

Criado 26 de abril de 2011
Ultima resposta 27 de abr. de 2011
Respostas 6
Participantes 2