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
O ArrayList tem um método “toArray”. Isso deve resolver seu problema.
colored
publicArrayList<NotaFiscal>TrazerNomes()throwsSQLException{ArrayList<NotaFiscal>list=newArrayList<NotaFiscal>();Stringsql="Select Nm_Empresa_Cliente From Cliente";PreparedStatementps=c.prepareStatement(sql);ResultSetrs=ps.executeQuery();while(rs.next()){NotaFiscalnota=newNotaFiscal();nota.setNm_Cliente(rs.getString("Nm_Empresa_cliente"));list.add(nota);}returnlist;}
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…