Contar linhas do JTable

8 respostas
java
A

galera… preciso fazer com que minha aplicação conte a quantidade de registros (linhas) tem no meu
jTable exemplo:
no meu jTable tem um aluno cadastrado porem esse aluno concluiu algumas aulas e outras não
eu queria mandar para um campo de texto a quantidade de aulas concluidas para jTextField por exemplo…
quem poder ajudar agradeço muito…

8 Respostas

T

Mostra ai pra gente um pouco de código, pra ficar mais claro o que vc precisa.

A

então Thiago essa logica aparentemente esta correta do codigo abaixo porem com e esse cod pego a quantidade de todas as linhas da tabela e não so a quantidade das (concluidas) entendeu? segue o cod abaixo:
int cont = 0; for (int i = 0; i < suaTabela.getRowCount(); i++) { if (suaTabela.getValueAt(i, 1).toString().equals("Concluida")); cont++; } JOptionPane.showMessageDialog(null, cont);

T

Como vc está populando esta tabela?
De onde vem os dados para cria-la?

Talvez seria melhor ‘contar’ as ‘concluidas’ antes de jogar os dados na tabela

A

com array list e populo com do while com dados vindo de um banco postgres

V

Essa informação deve ser fornecida pela sua classe de negócio, não contada pelo JTable. Provavelmente seu módulo de persistência vai carregar do banco de dados um List<Aluno>. Esse List você usará no TableModel para preencher a tabela.

Ao invés de tentar contar essa informação a partir do TableModel, simplesmente faça um método que calcule com base no List original. Fica bem mais fácil, já que você trabalha diretamente com a classe de negócio.

A

muito obg pelo retorno VIniGodoy vc poderia me dar um exemplo pratico e mais claro de sua ideia aplicada ao meu problema?

V

O primeiro passo é aprender a usar corretamente o JTable, e a criar seu proprio TableModel ao invés de usar o DefaultTableModel:

A

deu certo com esse cod abaixo:
int cont= 0; for (int i = 0; i < tabelaLancamentos.getRowCount(); i++) { if (tabelaLancamentos.getValueAt(i, 2).toString().equals("Saida")) { cont++; } } JOptionPane.showMessageDialog(null, cont);

mas agora sugiu uma nova duvida;
como faço para atrubuir esse resultado a apenas um aluno exemplo:
cliquei com o mouse em cima do aluno alan e mostre a quantidade de aulas concuidas so pelo alan
porque até então o cod passado pega a qtd de todas as aulas concluidas na tabela e quero pegar so a quantidade do alan clicado entendeu?

tipo quero atribuir de alguma forma a quantidade a um aluno especifico com um click na linha da tabela…

Criado 1 de fevereiro de 2016
Ultima resposta 6 de fev. de 2016
Respostas 8
Participantes 3