I'm developing software for an MVC (Model-view-controller) design video store and the problem is not calling the save () method and the change () method inside the If and Else on the Save button. If the typocadastro variable is "new" it saves and if the typocadastro variable is "change" it changes. I tried several ways and I could not find the solution ... and could anyone help me? Thank you very much in advance!
Class VideoPessoa, from the view layer:
public class VideoPessoa extends javax.swing.JFrame {
PessoaController pessoaController;
Pessoa pessoa;
String tipoCadastro;
/**
* Creates new form Pessoa
*/
public VideoPessoa() {
initComponents();
new Conexao();
pessoaController = new PessoaController();
pessoa = new Pessoa();
this.carregarPessoas();// Fica sublinhado em vermelho indicando erro!
this.novaPessoa();// Fica sublinhado em vermelho indicando erro!
this.habilitarCampos();// Fica sublinhado em vermelho indicando erro!
}
Save button and change button, within the view layer:
private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (tipoCadastro.equals("novo")){
salvarPessoa();// Fica sublinhado vermelho indicando erro!
} else if(tipoCadastro.equals("alteracao")){
alteraPessoa(); // Fica sublinhado vermelho indicando erro!
}
}
}
private void btnAlterarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
novaPessoa();
habilitarCampos();
recuperarPessoas();
tipoCadastro = "alteracao";
}
private void novaPessoa(){
habilitarCampos();
txtCodigo.setText("Novo");
txtNome.setText("");
txtEndereco.setText("");
txtBairro.setText("");
txtCidade.setText("");
txtCPF.setText("");
txtUF.setText("");
txtTelefone.setText("");
txtCelular.setText("");
txtSexo.setText("");
tipoCadastro = "novo";
}
public boolean alterarPessoa() {
pessoa.setCodigo( Integer.parseInt(this.txtCodigo.getText()));
pessoa.setNome(this.txtNome.getText());
pessoa.setEndereco(this.txtEndereco.getText());
pessoa.setBairro(this.txtBairro.getText());
pessoa.setCPF(this.txtCPF.getText());
pessoa.setSexo(this.txtSexo.getText());
pessoa.setUf(this.txtUF.getText());
pessoa.setCelular(this.txtCelular.getText());
pessoa.setTelefone(this.txtTelefone.getText());
pessoa.setCidade(this.txtCidade.getText());
// Aqui executo um teste se altera e quando exibe esse teste os dados não ficam alteradose e sempre exibe a mensagem alterados com sucesso!
Integer codigo = pessoa.getCodigo();
String nome = pessoa.getNome();
JOptionPane.showMessageDialog(this, "Código:"+codigo+ "nome:"+nome);
if (pessoaController.alterar(pessoa)) {
JOptionPane.showMessageDialog(this, "Registro alterado com sucesso!");
this.desabilitarCampos();
this.carregarPessoas();
return true;
} else {
JOptionPane.showMessageDialog(this, "Erro ao alterar os dados!", "ERRO", JOptionPane.ERROR_MESSAGE);
return false;
}
}