Segue meu código onde passo o resultado do resultset para uma lista, isso como o código abaixo mostra, está fazendo com sucesso, porém no código mais a frente necessito passar para o vetor "items" o que foi adcionado na lista pelo resultset. EIS O PROBLEMA, como passo os itens adcionados na lista para o vetor "itens"?? Lembrando que o vetor está em outra classe e vai alimentar o JComboBox.
publicstaticvoidmain(String[]args)throwsSQLException,ClassNotFoundException{Connectionconn;Statementstm;BaseDadosbasedados=newBaseDados();Class.forName(basedados.jdbc);conn=DriverManager.getConnection(basedados.drivemananger);stm=conn.createStatement();ResultSetrs=stm.executeQuery("select * from empregada;");ArrayListlist=newArrayList();while(rs.next()){Stringnome=rs.getString("nome");list.add(nome);}
String items [] = {};
JComboBox list = new JComboBox(items);
list.setBounds(10, 236, 203, 20);
contentPane.add(list);
Primeiro, você pode popular o JComboBox a partir do ArrayList.
Segundo, é bem simples…
A lista possui um total de elementos. Um vetor precisa ser instanciado com um número determinado de elementos… Isso te diz alguma coisa?
Depois de instanciar o vetor, basta usar o for e “passar” cada elemento para o vetor…
JoaoBluSCBR
Esse negocio de fazer as coisas no main ateh me arrepia. kkkkkk
main se usa para disparar a classe que comeca a executar, ficar colocando codigo nele eh soh para criar encrenca.
To imaginando que essa OutraClasse que tem o combo vai ser instanciada, deve ser um JFrame e vai ser mostrada.
Mas tudo bem, faça o seguinte:
OutraClasseoc=newOutraClasse();oc.items=newString[list.size()];//Assim vc define um array do tamanho da lista que tem rodando.//Dai passa tudo da lista para o vetorfor(inti=0;i<list.size();i++){oc.items[i]=list.get(i);}
Mas para isso funcionar, teu array items tem que ser um atributo public da classe onde ele estah.
Se for private voce vai ter de criar um método que o retorne para ser chamado daqui.
CharlesAlves
Bom se você sabe todo o resto e está querendo criar somente o array da lista usa o método toArray();
String[]array=lista.toArray();
Diego_Adriano
Ai cara .. montei um exemplo simples aqui .. assim já da pra vc se basear .. abraços ..
importjava.util.ArrayList;importjava.util.List;publicclassteste{publicteste(){}publicvoidpreencheArray(List<String>L){Stringitens[]=newString[L.size()];for(inti=0;i<L.size();i++){itens[i]=L.get(i);}for(inti=0;i<itens.length;i++){System.out.println("Item "+" "+i+" "+itens[i]);}}publicstaticvoidmain(String[]args){// TODO Auto-generated method stubtesteTeste=newteste();List<String>lista=newArrayList<String>();lista.add("DIEGO");lista.add("ADRIANO");lista.add("PEREIRA");lista.add("CANDIDO");Teste.preencheArray(lista);}}
C
cavibr
CharlesAlves:
Bom se você sabe todo o resto e está querendo criar somente o array da lista usa o método toArray();
String[] array = lista.toArray();
Procurabd2 teste = new Procurabd2();
teste.Teste();
String[] Lista = teste.list.toArray();
Type mismatch: cannot convert from Object[] to String[]
???
Diego_Adriano
Esta dizendo que vc não conseguiu converter o Objeto para String …
Veja se isso funciona:
String[]Lista=teste.list.toArray().toString;
C
cavibr
Diego Adriano, com o seu codigo funcionou, ja sou agradecido a comunidade, porem nao estou conseguindo acessar a lista pelo JcomboBox
JComboBox list = new JComboBox(acao.preencheArray(acao.list));
O erro: The constructor JComboBox(void) is undefined
Funcionou Diego, era a falta do retorno, ainda tenho que aprender muito
Diego Adriano e todos os demais! Muitíssimo obrigado pelo apoio e paciência, grato a todos! O JcomboBox está funcionando com a lista alimentada pelo resultset! grato!
Diego_Adriano
Relaxa cavibr todos nós temos muito que aprender rapaz …
Abraços … precisando posta ai que a galera aqui é demais !!