Popular Combobox Com Dados do Banco

5 respostas
colored

Bom dei uma boa pesquisada no forum mas ainda n resolveu meu problema…
Eu sempre popular q precisava fazer algo simples Com Combobox…
eu usava uma arrayzinha
combo1 = new Jcombobox(arrayzinha);

Mas pra pegar do banco eu como ja tinha um metodo aki q eu uso pra outras coisas;
Ja peguei ele mas se eu colocar o ArrayList<> la no Jcombobox();

da pau.

ja procurei outros metodos pra add e nd, vi uns ComboboxModel nos topicos mas n viro nd

Se alguem puder me da uma luz valeu =D

5 Respostas

T

O ArrayList tem um método “toArray”. Isso deve resolver seu problema.

colored
public ArrayList<NotaFiscal> TrazerNomes() throws SQLException {
		ArrayList<NotaFiscal> list = new ArrayList<NotaFiscal>();
		String sql = "Select Nm_Empresa_Cliente From Cliente";
		PreparedStatement ps = c.prepareStatement(sql);
		ResultSet rs = ps.executeQuery();
		
		while(rs.next()){
			NotaFiscal nota = new NotaFiscal();
			nota.setNm_Cliente(rs.getString("Nm_Empresa_cliente"));
			list.add(nota);
		}
		return list;	
	}

Tipo eu tava fazendo assim, criei esse metodo…
ai depois
Eu crio uma nova ArrayList. ArrayList mostrar = TrazerNomes();

Ai eu setaria la no combo onde eu vo usar o .toArray();?

jj_df

Cara, segue uma idéia simples pra preencher um ComboBox.

Eu tenho uma classe de Persistencia que acessa o banco. Lá tem um método que me retorna todos os registros encontrados em um ArrayList de object's, passando como argumento o campo que vou pesquisar e a class do bean. (Tô usando Hibernate e uma Persistência Genérica).

De posse da lista completa, eu removo todos os ítens do model do ComboBox e depois com um for eu passo por todos os ítens da lista e adiciono ao model...

Segue o código...

private void preencheCombo(){
        
        try{

            //Aqui usando Generics porque o metodo retorna um ArrayList de object's e preciso acessar os metodos do bean
            List<Classe> lista = new Persistencia().listAll("campo", new Classe().getClass());

        }catch(Exception e){

            //Capturando uma exceção genérica, pode-se trabalhar melhor aqui
            JOptionPane.showMessageDialog(null, "Erro no acesso ao banco de Dados!", "Atenção", JOptionPane.INFORMATION_MESSAGE);

        }

        //Remove todos os itens do model ComboBox
        comboBox.removeAllItems();

        //O método addItem adiciona objetos ao model do ComboBox
        //Esse getNome do objeto c retorna uma String
        for (Classe c : lista) {//Tô usando aqui o for each, disponível a partir da JVM 1.5
            comboBox.addItem(c.getNome());
        }

    }

Esse método é só pra preencher o comboBox que foi criado automaticamente com o auxílio da interface gráfica do netbeans... Nesse caso posso alterar o banco e preencher o comboBox novamente em tempo de execução.

Espero ter ajudado...

colored

N Consegui entender mto bem o começo la jj…

tipo eu to qse la com o meu =]…

Usei o metodo q numa Classe DAO agora…
ai eu faço

List<NotaFiscal> list = new ArrayList<NotaFiscal>(); NotaDAO dao = new NotaDAO(); list = dao.TrazerNomes();

Ai Ate Consigo setar no combobox com uns eskema q achei nuns topicos…
tipo new Jcombobox(new vector(nomedaarraylist);

ou additem como vc uso tb…

mas ele seta no combobox
isso kk [Bean.NotaFiscal@f18e8e, Bean.NotaFiscal@c623af,]

colored

Nossa jj Olha como eu so lerdo kkk…

Eu tava fazendo do meu jeito talz ai tava vindo esse nome q eu mostrei antes…

ai eu tava fazendo um for assim = o seu tb… so ao inves de add na combo eu tava
fazendo um System.out.println pra ve se tava com problema os dados na arraylist…

Agora q eu me tokei Funfo Show Valeu amigo =]

Criado 15 de abril de 2008
Ultima resposta 15 de abr. de 2008
Respostas 5
Participantes 3