e allora come mai mi da errore questo?

codice:
import javax.swing.table.AbstractTableModel;
import java.util.*;

public class MyTableModel extends AbstractTableModel
{
   private String[] columnNames = {"TESTATA", "PREZZO NETTO", "COPIE RESE"};
   private Object[][] data;
   private Vector temporaneo;
	
   public MyTableModel() {
      temporaneo = ApriConnessione.getRisultatoQuery();
      System.out.println(temporaneo.size());
      for(int i=0;i<temporaneo.size();i++)
         for(int j=0;j<1;j++) {
            data[i][j] = new Integer(i);
         }
}
questo è l'errore:
java.lang.NullPointerException
at MyTableModel.<init>(MyTableModel.java:16)
at sviluppoQuotidiani.<init>(sviluppoQuotidiani.java: 34)
at menuListener.actionPerformed(menuListener.java:25)
dove le rispettive righe sono:
data[i][j] = new Integer(i); ---- mytablemodel
tabella = new JTable(new MyTableModel()); ---- sviluppoQuotidiani
sviluppoQuotidiani sq = new sviluppoQuotidiani(); ---- menulistener

praticamente, l'errore parte da menulisener che crea l'oggetto della classe sviluppoquotidiani che a sua volta ha crea la JTable tabella usando la classe mytablemodel in cui riempio l'array bidimensionale data[][] con 2 cicli for annidati.