Estou desenvolvendo uma aplicação tipo MDI onde tenho uma Jtable dentro de um JInternalFrame, essa tabela mostra uma lista de funcionarios salvos em um banco MySQL. Tambem nesse JInternalFrame tenho JButtons para adicionar, excluir, alterar e pesquisar informações dessa tabela. Quando eu clico em incluir, me abre outro JInternalFrame para fazer essa inclusão no banco de dados. Mas ao finalizar essa operação as informações só são salvas no banco, mas não aparecem na tabela ate que eu feche o JInternalFrame e abra ele novamente. Ja tentei atualizar de varios modos mas ainda não funcionou. Segue o meu codigo:
//1º JInternalFrame chamado ListaFuncionarios
//Metodo que preenche a JTable
public void preencheTabela(DefaultTableModel modelo) {
try {
FuncionarioDAO dao = new FuncionarioDAO();
dao.conecta();
dao.consulta();
ResultSet temp = dao.getResultado();
while (temp.next()) {
String[] row = { temp.getString("nome"),
temp.getString("endereco"),
temp.getString("cpf"),
temp.getString("rg") };
modelo.insertRow(0, row);
}
} catch (Exception e) {
e.printStackTrace();
}
}
Aqui uma das muitas tentativas de Atualizar
public void InsereLinha(Funcionario f) {
String cpf2 = Integer.toString(f.getCpf());
String rg2 = Integer.toString(f.getRg());
String[] row = { f.getNome(), f.getEndereco(), cpf2, rg2 };
modelo.addRow(row);
}
E aqui é o JInternalFrame que Insere
[code]
//2º JInternalFrame chamado InsereFuncionario
public Funcionario RecuperaFuncionario() {
String nome = txtNome.getText();
String end = txtEnd.getText();
String cpf = txtCpf.getText();
int cpf2 = Integer.parseInt(cpf);
String rg = txtRg.getText();
int rg2 = Integer.parseInt(rg);
String usuario = txtUsuario.getText();
String senha = txtSenha.getText();
Funcionario funcionario = new Funcionario(nome, end, cpf2, rg2,
usuario, senha);
return funcionario;
}
public class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == btnSalvar) {
FuncionarioDAO dao = new FuncionarioDAO();
dao.conecta();
try {
dao.adiciona(RecuperaFuncionario());
} catch (SQLException e) {
e.printStackTrace();
}
JOptionPane.showMessageDialog(null, " Inclusão Efetuada", "Mensagem", JOptionPane.PLAIN_MESSAGE);
ListaFuncionario lf = new ListaFuncionario();
lf.InsereLinha(RecuperaFuncionario());
dispose();
}
if (ae.getSource() == btnCancelar) {
dispose();
}
}
}[/code]
Onde eu leio os campos do formulario e depois envio o objeto pro metodo adiciona que manda pro banco de dados e depois chamo o metodo InsereLinha do JInternalFrame que esta a minha JTable pra atualizar inserindo esse novo registro, mas nada. Tambem tentei chamar o metodo PreencheTabela mas tambem não deu certo. Alguem já passou por isso antes?? Se alguem puder me dar um help eu ficaria grato pois ja acabaram as minhas ideias. Falou.