Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thalyson Cordeiro

Jogar o conteudo (as linhas) da tabela para um ArrayList

Recommended Posts

Olá pessoal, boa noite. Tenho a seguinte situação, tenho uma tabela (Jtable) onde está preenchida com linhas, essas linhas que estão nela são do tipo Usuario.

 

Queria saber o seguinte, quero pegar todo esse conteudo da tabela (linha por linha) e adicionar num ArrayList. Porque vou precisar disso para minha inserção no banco de dados.

 

Deem uma força aew. Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

MXN, não estou em casa para ver meu código, mas fiz aqui mais ou menos como estou usando.

- No evento keyPress de um combobox meu, eu testo se é ENTER e se for eu pego o item do combobox e preencho a linha da tabela, que por sua vez tem duas colunas (ID, Nome). O código que faz esse preenchimento na linha da tabela segue abaixo.

- Lembrando que os itens que aparecem no combobox são objetos do tipo (Classe) Usuario.

 ((DefaultTableModel) tabelaPessoas.getModel()).addRow( new Object[2] );
 int linha = tabPedidos.getRowCount() - 1;
 int col = 0;
 tabelaPessoas.setValueAt( (Usuario) cbLista.getSelectedItem().getidUsuario(), linha, col++);
 tabelaPessoas.setValueAt( cbLista.getSelectedItem(), linha, col++);

Vamos supor que minha tabela tem 4 linhas inseridas, quando clicar no botão cadastrar da janela por exemplo, eu quero adicionar num ArrayList todas essas linhas que estão na tabela. Vou usar esse ArrayList depois para inserções no banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não entendi a parte de estar pegando os dados em JComboBox. Esses dados já vem de algum lugar e são carregados no componente? Ou ele está definido com "setEditable(true)" permitindo que o usuário possa alterar o que já estiver inserido no JComboBox?

 

Posta o trecho que você manipula esse componente também :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, esse JComboBox é preenchido com os dados que tem no banco de dados, da tabela USUARIO. Não tem como editar eles não. Mm as tive uma ideia que acho que vai da certo. Vou contar quantas linhas preenchidas tem a minha tabela, e assim vou percorrer linha por linha pegando os dados e atribuindo no ArrayList.

 

O que acha ?

  1. for(int linha=0; linha<jtable.getRowCount();linha++){
  2. // aqui vou pegar os dados linha por linha e atribuir em um ArrayList
  3. }

Compartilhar este post


Link para o post
Compartilhar em outros sites

É que você colocou a história do JComboBox na história e confundiu um pouco.

 

Então, pensando somente na tabela, você pode ter um método assim:

private ArrayList<Usuario> getUsuarios(){
        ArrayList<Usuario> usuarios = new ArrayList<>();
        
        for(int i = 0; i < jtable.getRowCount(); i++){
            int id = Integer.parseInt(jtable.getModel().getValueAt(i, 0).toString());
            String nome = jtable.getModel().getValueAt(i, 1).toString();

            usuarios.add(new Usuario(id, nome));
        }
        return usuarios;
    }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.