No, perchè non è un array in quel modo. Un array a 2 dimensioni è un array di array.

matrice deve essere istanziata una volta sola. All'interno del ciclo metti un array, che verrà creato ogni volta; prima di essere distrutto, quindi al termine della riga, lo aggiungi alla matrice.

Qui una domanda... perchè non utilizzare Vector<E>?

codice:
    Vector<Vector<String>> elementi = new Vector<Vector<String>>();
    
    Vector<String> riga1 = new Vector<String>();
    riga1.add("Primo");
    riga1.add("Secondo");
    riga1.add("Terzo");
    
    Vector<String> riga2 = new Vector<String>();
    riga2.add("Quarto");
    riga2.add("Quinto");
    riga2.add("Sesto");
    
    elementi.add(riga1);
    elementi.add(riga2);
    
    for(int i=0; i<elementi.size(); i++) {
      model.addRow(elementi.get(i));
    }
Se potessi, semplificheresti enormemente il lavoro e le problematiche...