Sì. Ma devi lavorare con il TableModel associato alla tua tabella.
Ti basterà far sì che gli inserimenti delle nuove righe avvengano appena prima delle righe del "footer".
Se, ad esempio, sei assolutamente certo che il "footer" sia costituito da 4 righe ed il tuo TableModel è costituito da un ArrayList, ti basterà adottare qualcosa del genere per l'inserimento di una nuova riga:
codice:
ArrayList<TuaRiga> modelloLogico;
...
public void addRow(TuaRiga riga) {
modelloLogico.add(modelloLogico.size()-5, riga);
/*
-5 perchè il metodo size() ritorna la dimensione, quindi l'ultimo elemento
è in posizione size() - 1. Tu devi inserire alla riga precedente la quart'ultima.
*/
}
Chiaramente dovrai effettuare dei controlli per assicurarti che il modello contenga il "footer", altrimenti l'istruzione andrà in errore.
PS: tutto questo ha senso se non hai un RowSorter associato alla tabella o se questo RowSorter è a conoscenza del "footer" e lavora di conseguenza.
Ciao.