Matriz no JTable

Eu preciso preencher um JTable com uma matriz 2D estática. Eu criei este modelo para oJTable:

 public class InsertMatToJTable extends AbstractTableModel{

   String titre[] = {"age real", "sex real", "chest real", "resting_blood_pressure real","serum_cholestoral real","fasting_blood_sugar real","resting_electrocardiographic_results real","maximum_heart_rate_achieved real","exercise_induced_angina real","oldpeak real","slope real","number_of_major_vessels real","thal real", "class"};

   String line;

    float mat[][]= new float[270][13];

    float matrice_normalise[][];

    int i = 0,j=0;

    public void InsertMatToJTable()
    {

try {
        FileInputStream fis = new FileInputStream("fichier.txt");
            BufferedReader br = new BufferedReader(new InputStreamReader(fis));

            while ((line = br.readLine()) != null) {
                            StringTokenizer st1 = new StringTokenizer(line, " ");
                            while (st1.hasMoreTokens())
                            {mat[i][j]=Float.valueOf(st1.nextToken()).floatValue(); 
                                                        j++;

                           if (st1.hasMoreTokens()!=true)   i++;
                            }      
            }
            br.close();
      }catch(Exception e) {
                    e.printStackTrace();}

      Normalisation norm = new Normalisation(mat);

   // for(i=0;i<270;i++)
    //{for(j=0; j<14;j++)
    //{matrice_normalise[i][j]=norm.mat_normalised[i][j];
    //}
      matrice_normalise=norm.mat_normalised;


    }
 @Override
   public int getRowCount() {
    return 270*13;
  }

 @Override
public int getColumnCount() {
    return 13;
}

@Override
public Object getValueAt(int rowIndex, int columnIndex) {
    return  matrice_normalise[rowIndex][columnIndex];
}

public String getColumnName(int columnIndex) {
    return titre[columnIndex];

}
    }

Basicamente, este código lê a partir de um arquivo de texto, cada linha contém 13 valores numéricos e os armazena em uma matriz estática, depois aplica algum outro tratamento chamado "normalização".

O problema aqui parece estar na função "getValueAt". Eu tenho esse erro toda vez:

         Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
         at prodm.InsertMatToJTable.getValueAt(InsertMatToJTable.java:62)

Primeiro, preciso saber se esse código realmente faz o que eu acho, que é armazenar os dados na matriz da mesma forma que eles são armazenados no arquivo de texto.

E segundo, eu realmente não tenho idéia sobre o que há de errado com a função getValueAt?

Além disso, notei outra coisa. Há definitivamente algo de errado com esta parte:

  while ((line = br.readLine()) != null) {
                            StringTokenizer st1 = new StringTokenizer(line, " ");
                            while (st1.hasMoreTokens())
                            {mat[i][j]=Float.valueOf(st1.nextToken()).floatValue(); 
                                                        j++;
                                                       if (j==13) {i++;j=1;}
                            }  

Ele lê o arquivo, mas não armazena os dados da maneira que deveria. Basicamente, introduz um "turno", a partir da segunda linha. Por exemplo, o que deve ser armazenado em [1] [0] é [1] [1], [2] [0] é em [2] [2] ... etc.

questionAnswers(1)

yourAnswerToTheQuestion