Como criar um vetor para JComboBox

3 respostas
M

Estou há dias tentando resolver uma questão que certamente é super simples,mas não consigo chegar lá: eu preciso capturar os valores de um só campo do meu banco de dados Access e transformar em um vetor, para usar esse vetor como itens de um JComboBox do aplicativo.

Eu não posso usar, por exemplo:

String [] itens = {“João”, “Maria”, “José”, “Pedro”};

na lista do meu JComboBox, eu tenho que usar os nomes que o usuário digita no campo Nome do banco de dados. Então, estou tentando este código aí abaixo:

Vector vetor1 = new Vector(); 
while (rs.next()) 
   vetor1.addElement(rs.getString("Nome")); 
JComboBox CB1 = new JComboBox(vetor1);

Dá erro: cannot find symbol.
Será que tenho que declarar um pacote qualquer que está faltando?

Tudo no meu aplicativo funciona, o banco de dados abre os registros normalmente, tudo funciona, só não consigo criar um vetor com os valores do campo Nome e usar esses dados como uma lista do JComboBox. Já pedi socorro nos quatro cantos da Internet, mas nada. Se puderem me ajudar, agradeço demais.
Marco

3 Respostas

C

Faca

M

Rafael,

Obrigado pela ajuda, mas meu Vetor não existe, o problema é exatamente este, como eu faço pra criar um Vetor com os dados do campo Nome (do banco de dados). Então, não posso fazer isto que você fala:

seuJComboBox.addItem(seuVetor);

porque não tenho seuVetor. Todo o meu problema está em como fazer um Vetor, que pegue os dados do campo Nome(do banco de dados). Só isso é o problema. No campo Nome (do banco de dados) existem vários nomes cadastrados pelo usuários, eu quero fazer um Vetor que capture esses nomes, mas do jeito que você propõe, só se eu já tivesse o Vetor, prédeterminado.
Dá uma pensada e vê se tem uma saída para isso. Eu te agradeço demais.
Marco

C

entao da pra tu faze o seguinte…

na sua consulta com o seu BD tu recupera num ArrayList…

vamos supor q tu vai so recuperar o código do seu usuário pra colocar no combo OK… entao tu faz assim na classe que faz a consulta…

ArrayList seuArray = new ArrayList(); while(rs.next()) seuArray.add(new Integer(rs.getInteger(1)));

na sua classe de interface tu faz…

for(int i=0;i<seuArray.size();i++)
   seuCombo.addItem(array.get(i));

ok ?

Criado 19 de junho de 2006
Ultima resposta 19 de jun. de 2006
Respostas 3
Participantes 2