Bom dia!
O meu caso é o seguinte, eu tenho um botão ‘Editar’ no meu formulário mãe, quando eu clico neste botão o ActionPerformed abre o formulário filho.
No formulário filho, eu realizo as minhas alterações, e por fim, clico no botão ‘Salvar’, automaticamente a tela é fechada e os valores são alterados no banco de dados. Beleza, mas o meu problema mesmo é agora:
Ao fechar esse formulário filho eu queria alterar os valores na tabela do meu formulário mãe, não encontrei uma forma de fazer isso, pelo menos não uma forma automática, estou tendo que colocar um botão ‘Atualizar’ no meu formulário mãe pra que quando o usuário clicar a grade seja atualizada.
To confuso quanto a questão de nesse caso ser necessário a criação de uma classe, se existe algum evento que já faça isso pra mim…
Se alguém puder me ajudar aí fico muito grato, vou estar passando os códigos aqui pros senhores darem uma analisada.
// FORMULÁRIO MÃE, QUANDO CLICO NO BOTÃO 'EDITAR'
if (grdContato.getSelectedRow() < 0) {
Funcoes.mensagemAviso("Selecione uma linha na grade.");
} else {
Integer codigo = ((Integer)grdContato.getValueAt(grdContato.getSelectedRow(), 2));
clienteContato = clienteContatoDAO.listarPorCodigo(codigo);
new FormClienteFisicoAlterarContato(clienteContato,cliente).setVisible(true);
}
// FORMULÁRIO FILHO, QUANDO JÁ FIZ AS ALTERAÇÕES E AGORA CLICO NO BOTÃO SALVAR
ClienteContato clienteContato = new ClienteContato();
ClienteDAO clienteDAO = new ClienteDAO();
Cliente cliente = new Cliente();
ClienteContatoDAO clienteContatoDAO = new ClienteContatoDAO();
clienteContato.setDescricao(edtDescricaoContato.getText());
clienteContato.setTipo(Funcoes.getTipoContato(cmbTipo.getSelectedItem().toString()));
clienteContato.setCodigo(Integer.parseInt(lblCodigoClienteContato.getText()));
cliente = clienteDAO.listarPorCodigo(Integer.parseInt(lblCodigoCliente.getText()));
clienteContato.setCliente(cliente);
clienteContatoDAO.alterar(clienteContato);
this.dispose();