1
I am developing software for a video rental company with Pattern MVC (Model-view-controller) design and the problem of not calling the save() method and the change() method is occurring inside If and Else on the Save button. If the variable type is "new" it saves and if the variable type is "change" it changes. I have tried several ways and I could not find the solution. and someone there could help me ? From now on, I thank you!
Video person class, 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 inside 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;
}
}
Which error indicates underlined?
– rray
@rray That mistake :
cannot find symbol
– Igor Contini
Hi, once I read that in java the equals compares data type and not the value that is inside the variable, try to change the comparison to == Example: typeCard == "new", Check if it works like this.
– Mauricio Ferraz
This is your method to salvaPessoa(); it comes from where?
– DiegoAugusto
@Techies From within the view layer and still does not call the save() and change() method, why?
– Igor Contini
He doesn’t call or he’s making a mistake? Because in the comment you say you’re making a mistake
– DiegoAugusto
It does not call and is underlined in red indicating that something is wrong and when I step over the mouse pointer, it displays the message:
cannot find symbo
!– Igor Contini
From what I’ve noticed there’s a
}
the most in your method– DiegoAugusto
@Techies I took out that quote and call the methods without that quote.. 4 whole days lost just because of a quote!
– Igor Contini
@Techies Thanks and not even change the data of my person..
– Igor Contini
Put your method change that I try to help
– DiegoAugusto
@Techies I updated my question..
– Igor Contini
When you click to change the person’s fields are filled in?
– DiegoAugusto
When I click yes why I put words to myself changes.
– Igor Contini
Let’s go continue this discussion in chat.
– DiegoAugusto