[RESOLVIDO]Ajuda para entender o método AbstractTableModel

Olá pessoal, boa noite.
Tive uma aula na faculdade sobre o jTable e o AbstractTableModel onde implemento mesmo os métodos da minha tabela.
Não estou entendendo o que o método public Object getValueAt(int x, int y) faz.
Se puderem ajudar.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package passaerea;

import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author KK
 */
public class MyTableModel extends AbstractTableModel{
    
    private String [] colunas = {"NOME","CPF","CODIGO","RG","DATA DE NASCIMENTNO","TELEFONE","EMAIL","ENDEREÇO","PROFISSAO","HABILITAÇÃO","MATRICULA"};
    ArrayList<Funcionario> dados = null;

    public MyTableModel() {
        Conexao.connect();
        dados = Conexao.listarFuncionario();
    }
    
    
    //pega a qntidade das linha
    @Override
    public int getRowCount() {
        return dados.size();
    }
    
    //pega a quantidade de colunas
    @Override
    public int getColumnCount() {
        return colunas.length;
    }
    
    //pega o nome da coluna
    @Override
    public String getColumnName(int x){
        return colunas[x];
    }
    
    // não entendi o que faz esse metodo.
    @Override
    public Object getValueAt(int x, int y) {
        String val = null;
        Funcionario f = dados.get(x);
        if(y == 0)
            val = f.getNome_funcionario();
        else
            val = f.getCpf_funcionario();
        
        return val;
    }
    
    
}

Usando esse método, o JTable pergunta ao seu model “que dado tem na linha tal e na coluna tal?”

E você deve usar o método para responde-la.

No caso, sua ordem de colunas é nome, cpf, codigo, rg, data de nascimento, email, etc…

Então, vc deve retornar os dados dessas colunas, de acordo com o parâmetro columnIndex, enviado no getValueAt.

Entendi !!!

[code]
@Override
public Object getValueAt(int x, int y) {
String val = null;
Funcionario f = dados.get(x);

    switch(y){
        case 0: val = f.getNome_funcionario();break;
        case 1: val = f.getCpf_funcionario();break;
        case 2: val = f.getCod_funcionario();break;     
        case 3: val = f.getRg_funcionario();break;
        case 4: val = f.getData_nasc_funcionario();break;
        case 5: val = f.getTel_funcionario();break;
        case 6: val = f.getEmail_funcionario();break;
        case 7: val = f.getEndereco_funcionario();break;
        case 8: val = f.getProfissao_funcionario();break;
        case 9: val = f.getHabilitacao_funcionario();break;
        case 10:val = f.getMatricula_funcionario();break;
    }
    
    return val;
}[/code]

Deu certo !
Valeuu