GARANTIR DESCONTO

Fórum CheckBox criado dinamicamente com checked = true não insere o nome no ArrayList #592580

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

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

Aceitar