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…
para retornar no seu jTextField o numero total de linhas na sua jTable utilize:
jTextField.setText(suaTabela.getRowCount());
sim sandro mas queria pegar a quantidade de aulas concluidas pelo aluno tipo na minha tabela na coluna status_aula o aluno sandro tem 5 aulas concluidas e 2 não-concluidas queria pegar no campo de texto a quantidade 5 por exemplo entendeu?
Ah sim entendi,
nesse caso você pode criar um “for” que percorre tua jTable, verificando se a coluna status_aula for igual a
concluida, o contador soma 1, exemplo não testado abaixo, só para ter uma ideia:
int cont = 0;
for (int i = 0; i < suaTabela.getRowCount(); i++) {
if (suaTabela.getValueAt(i, 1).toString().equals("Concluida"));
cont++;
}
JOptionPane.showMessageDialog(null, cont);
então sandro assim eu pego sempre a quantidade de todas as linhas e não so as concluidas cara …
ajuda ai mano
quando vc preenche a tabela, você popula ela dentro de um “for”, não é? Crie uma variável global do tipo inteiro ( Int ) e quando você estiver ‘populando’ a sua jTable, você coloca um IF verificando se está concluído ou não, se sim, você incrementa a sua variável ex:
if (seuList.get(i).getSeuParametro().equals"Concluido") { suaVariavelGlobal = suaVariavelGlobal + 1; }
Teste e diga se funciona.
não não uso um do while com arrayList preciso de coisa simples tipo do sandro_machado alogica dele esta correta mas não funciona pegando o equal e sim ele pega a qtd de todas as linhas e não so as concluidas…
vc poderia me dar um exemplo mais simples +CALERA
Cara, Testei aqui agora e funcionou, tens que verificar se está pegando a coluna certa, da esquerda pra direita e começa em 0, neste exemplo queria a coluna 3, então no getValueAt ficou 2.
int cont = 0;
for (int i = 0; i < tabelaLancamentos.getRowCount(); i++) {
if (tabelaLancamentos.getValueAt(i, 2).toString().equals("Saida")) {
cont++;
}
}
JOptionPane.showMessageDialog(null, cont);
me retornou apenas o numero de linhas com a palavra “Saida” na coluna que especifiquei no caso 2;
não lembro bem se tentei ja com esse cod mudando a coluna mais chegando em casa atardinha vou tentar e lhe dou retorno se funcionou agraeço desde ja…
vlw sandro deu certo cara, 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 sandro e mostre a quantidade de aulas concuidas so pelo sandro
porque até então o cod passado pega a qtd de todas as aulas concluidas na tabela e quero pegar so a quantidade do aluno clicado entendeu?
opa
só criar dentro do if que já existe, que você quer o resultado só do aluno selecionado usando o
tabelaLancamentos.getValueAt(tabelaLancamentos.getSelectedRow(), 1).toString()
esse vai retornar o valor da linha selecionada na coluna desejada.
claro isso você tem que colocar dentro de um evento MouseClicked(java.awt.event.MouseEvent evt)
Ok Sandro tentarei atardinha quando tiver em casa vlw mano
vc pode me dar um exemplo pratico sandro?
int cont = 0;
for (int i = 0; i < tabelaLancamentos.getRowCount(); i++) {
if (tabelaLancamentos.getValueAt(i, 2).toString().equals("Saida") && tabelaLancamentos.getValueAt(i, COLUNA_NOME_ALUNO).toString().equals("NOME_ALUNO")) {
cont++;
}
}
JOptionPane.showMessageDialog(null, cont);
Exatamente como o JuniorMaia colocou, só não se esqueça de colocar dentro do evento mouseClicked,
devendo ficar assim.
private void tabelaLancamentosMouseClicked(java.awt.event.MouseEvent evt) {
int cont = 0;
for (int i = 0; i < tabelaLancamentos.getRowCount(); i++) {
if (tabelaLancamentos.getValueAt(i, 2).toString().equals("Saida") && tabelaLancamentos.getValueAt(i, COLUNA_NOME_ALUNO).toString().equals("NOME_ALUNO")) {
cont++;
}
}
JOptionPane.showMessageDialog(null, cont);
}
que bom cara, marque o tópico como resolvido. abraço