Criei um projeto conforme figura abaixo:
Nele contem um form principal MDI e um outro form JInternal chamado Cad_Cli.
No form Cad_Cli criei um método chamado limpar_campos conforme segue:
public void limpar_Campos() {
tbRegistro.setText("000000");
tbNome.setText("");
tbApelido.setText("");
tbfNascimento.setText("");
}
No form MDI tenho um botão conforme indicado na figura acima, tentei chama-lo atraves do evente conforme abaixo:
private void btNovoActionPerformed(java.awt.event.ActionEvent evt) {
Cad_Cli cad = new Cad_Cli();
cad.limpar_Campos();
}
Mas não funciona.
Quero uma dica de como usar este método a partir do evento do botão “btNovo” no form MDI.
Aguardo.
JC-PEREIRA:
No form MDI tenho um botão conforme indicado na figura acima, tentei chama-lo atraves do evente conforme abaixo:
private void btNovoActionPerformed(java.awt.event.ActionEvent evt) {
Cad_Cli cad = new Cad_Cli();
cad.limpar_Campos();
}
Vc deve adicionar ao container:
Cad_Cli cad = new Cad_Cli();
cad.limpar_Campos();
getContentPane.add(cad);
cad.setVisible(true);
Na hora que você abre o form MDI, você precisa guarda-lo numa variável.
Depois, você deve chamar o limpar campos sobre essa variável.
O que você fez aí é que você criou um segundo form Cad_Cli, ainda invisível, e chamou o método limpar nele. Seu método limparCampos vai ficar assim:
private void btNovoActionPerformed(java.awt.event.ActionEvent evt) {
if (cad_cli != null) {
cad_cli.limpar_Campos();
}
}
E você vai inicializar essa variável cad_cli sempre no botão onde você torna o seu JInternalPane visível.
Só um detalhe, o botão novo não deveria estar dentro do InternalPane? O que você vai fazer quando tiver diversas janelas?
PS: Quando for responder à essa dúvida, clique no botão responder, sem abrir um novo tópico. Assim o assunto evolui por aqui, e todos que já te ajudaram recebem e-mail.