jTable

3 respostas
doougllas

Para pegar o valor de uma determinada linha e coluna de uma jTable eu uso o seguinte código:

Object valor = tabela_mensalidades.getValueAt(tabela_mensalidades.getSelectedRow(), 3);

Mais para que isso seja possível o linha tem que ser selecionada pelo funcionário.

O que eu queria era o seguinte, tenho uma tabela que lista todas as mensalidades pagas,
Quero fazer um botão que pegue o valor de todas as linhas (na coluna 3 de cada linha especificamente) e some elas. Mostrando em um jTextField em seguida.

Como eu poderia pegar todos esses valores e somar ?
Sendo que eu nunca vou ter o número exato de linhas, pois sempre vão existir mensalidades para adicionar!

Se não entederam, eu explico novamente, mais me ajudem por favor!!!

3 Respostas

M

Implementando seu TableModel. Nele você pode manter um List contendo todos os objetos (e aí você saberá quantos terão) e poderá criar um método que retorne essa soma. Procure aqui no fórum sobre TableModel que encontrará bastante coisa.

Radams_Venceslau

Olá doougllas,

Cara isso vai te ajudar pelo que entendi:

public int getValorTotal() {
        DefaultTableModel tabela = (DefaultTableModel) tabela_mensalidades.getModel();
        int valor = 0;
        for (int contador = 0; contador < tabela.getRowCount(); contador++) {
            valor = valor + Integer.parseInt(tabela_mensalidades.getValueAt(contador, 3).toString()); 
            //Imagino que a coluna está com o valor Object para a coluna
        }
        return valor;
    }

//Talvez precise algumas modificações em relação a conversão.
//porém fica a seu critério.

Espero ter ajudado.

doougllas

Não estou conseguindo colocar o código.
Na verdade estou, mais quando mando o jTextField setar o “valor”, fala que “valor” não existe no pacote.

Criado 5 de janeiro de 2010
Ultima resposta 5 de jan. de 2010
Respostas 3
Participantes 3