Boa tarde, meu nome é Pablo Henrique!
Estou com o seguinte problema tenho uma Tabela implementada com AbstractTableModel onde listo todas as matérias, e tenho um botão chamado *Alterar, quando seleciono a linha e clico neste botão aparece JFrame interno para alterar os dados, ai tudo bem, só que nesta tela onde tem a tabela queria poder deixar armazenado os seguintes itens: o objeto (matéria) da linha selecionada, o número da linha e da coluna também, só que quando fecho o JFrame Interno esses dados não ficam.
Imagem da tabela:

Método do botão alterar:
private void btAlterarActionPerformed(java.awt.event.ActionEvent evt) {
if (tbMateria.getSelectedRow() > -1) {
coluna = tbMateria.getSelectedColumn();
linha = tbMateria.getSelectedRow();
materia = new ControleMateria().listar().get(linha); // pego as informações da lina e adiciona ao objeto matéria
TelaMenuMateriaMDI telaMenuMateriaMDI = new TelaMenuMateriaMDI();
area.add(telaMenuMateriaMDI);
telaMenuMateriaMDI.setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "Selecione a matéria");
}
}
Quando eu clico no botão registrar as informações são alteradas no banco de dados corretamente, ai fecho esta janela e fica a janela que tem a tabela, ai uso este método para tentar atualizar a tabela:
private void formInternalFrameActivated(javax.swing.event.InternalFrameEvent evt) {
tableModel.setValueAt(materia, linha, coluna);
}
Mas este método da erro, o objeto volta como nulo, e a linha e a coluna aparecem com o valor zero.
**Alguém poderia me explicar o motivo disso acontecer, e como poderia contornar este problema