Olá, estou recém começando a entender o universo Java, portanto, não faço idéia se a minha pergunta é complexa, ou de simples solução.
Preciso fazer um programa de demonstração, onde devem ser apresentadas opções de estilos de música ao usuário, e o mesmo deve selecionar os que lhe agradam.
Para fazer isso, estou criando CheckBoxes e buscando os nomes dos estilos (Rock, Pop, Blues, etc…) no Banco de dados.
Quem já respondeu uma daquelas pesquisas de internet onde tem coisas como: “Selecione suas áreas de interesse”, sabe do que estou falando. 
Meu problema é o seguinte:
Tenho 54 estilos para o usuário escolher, e na hora de criar as checkBoxes estou usando sempre o mesmo objeto para criar cada umas das 54 checkboxes. Até ai tudo bem, o programa cria as mesmas com facilidade. Porém, na hora de implementar um listener para retornar quais as opções marcadas, eu tenho problemas. Isso pq na teoria, cada vez q eu clicasse em um checkbox, o programa deveria pegar o nome do checkbox e gerar um insert na tabela de preferências do usuário, baseado na opção clicada; mas não tenho como retornar o valor daquela checkbox pq todas elas foram desenhadas baseadas no mesmo objeto.
Minha pergunta é:
Tenho como criar um evento para fazer o que me proponho utilizando apenas esse único objeto de checkBox, ou vou ter q instanciar 54 checkBoxes diferentes?
Obrigado pela ajuda!
Dúvidas com CheckBoxes
6 Respostas
http://java.sun.com/docs/books/tutorial/uiswing/components/button.html#checkbox lhe ensina como tratar várias checkboxes com um único ItemListener.
Já li este tutorial. O problema é que nele, o programador usou 4 objetos diferentes para as checkBoxes… e é essa a minha dúvida… estou usando um.
Não queria instanciar 54 checkboxes que vão usar o mesmo método no evento de clique… é essa minha dúvida… não há maneira de contornar isto?
Você pode criar um array de 54 checkboxes. Não é preciso criar 54 variáveis diferentes.
Estranho - se você fizer isso, não vai ficar apenas uma checkbox na tela?
Pois é… meu professor me ensinou a jogar objetos Swing na tela desta forma:
resultado = checkBoxes.executaSelect(comando);
if (resultado.first())
{
while (!resultado.isAfterLast())
{
estilo = resultado.getString(1);
[color=red]jCb = new JCheckBox(); //este é o objeto pra gerar as checkBoxes
jCb.setName(estilo);
jCb.setText(estilo);
jCb.setBounds(x+(j<em>150), y+(i</em>20), 150, 20);[/color]
this.add(jCb);
System.out.println(estilo);
i++;
if (i == limite){
i = 0;
j++;
}
resultado.next();
}
é assim que eu estou fazendo para colocar todas as CheckBoxes na tela…
Funciona pra “pinta-las”, mas não para usa-las com eventos independentes…
Se tiver outra solução, aceito sujestões! hehehe 
esyou bem perdido…
Já tentei colocar um array tb, mas erro de NullPointerSeiláoque… devo ter feito errado…

Você está criando 54 (que seja) checkboxes nesse loop, se houver 54 linhas nesse banco de dados. Você pode então pegar (com getName() ou getText()) o nome do estilo, no ItemListener que você associar (você precisa associar DENTRO do loop, não for dele.
Vou tentar!
Muito obrigado! 