CheckBox criado dinamicamente com checked = true não insere o nome no ArrayList

19/04/2018

0

Pessoal, a ideia é que quando o usuário escolher um campo identificado no checkbox o sistema deverá inserir o texto do checkbox no ArrayList. Mas esta pegando apenas o ultimo nome do ultimo checkbox.

public void listarOpcoesDeCampos() {
//para manipular o arrayList de campos voce dever criar outro arrayList para recebe-lo e assim com lst.get(0) chamar o campo desejado
lstCamposRetornados = retornarNomesCampos(); //retornando o codigo -> lstCamposRetornados.get(0) -> este procedimento me da acesso a qdeColunas tb

//definindo o posicionamento dos checksbox dos campos
int pos_coluna = 50, pos_linha = 40, tam_linha = 250, alt_linha = 30;

for (int i = 0; i < qdeColunas; i++) {
//criando e mostrando um checkbox com o nome da coluna da tabela
chk = new JCheckBox();
chk.setBounds(pos_coluna, pos_linha, tam_linha, alt_linha);
c.add(chk);
c.repaint();
chk.setText(retornarNomesCampos().get(i)); //setando o nome da coluna no checbox

//registrando o objeto que sofrerá ação
chk.addActionListener(this);

//se posicionando para criacao do proximo checkbox
pos_coluna = 50;
pos_linha = pos_linha + 20;
}

}
@Override
public void actionPerformed(ActionEvent e) {
lstListaCampos.add(chk.getText());
}

Fiz um laço for para visualizar o que a lista contem e percebi que esta pegando somente o último ítem

saída atual:
campo OBS
campo OBS

A saida desejada é:
campo CODIGO
campo OBS

Ou seja no ArrayList deverá conter apenas os ítens(checkbox) selecionados.
Edi Souza

Edi Souza

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar