Como chamar método para dentro do If e Else?

Estou desenvolvendo um software para uma videolocadora com design pattern MVC (Model-view-controller) e está ocorrendo o problema de não chamar o método salvar() dentro do If e Else pois se eu não chamar o método salvar dentro não consigo salvar e nem alterar os dados da minha pessoa. Já tentei varias formas e não consegui encontra a solução…e alguém aí poderia me ajudar ? Desde já, agradeço !

Classe VideoPessoa, da camada view:

[code]package view;

// A maioria das importaçoes fica “importação não utilizada”

import controller.PessoaController;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.RowFilter;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
import model.Pessoa;
import util.Conexao;
import util.OPDatas;

/**
*

  • @author Aluno3
    */
    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();// Aqui da erro
      this.novaPessoa();// Aqui da erro
      this.habilitarCampos();// Aqui da erro

    }
    [/code]

Botão de salvar e o botão de alterar, dentro da camada view:

[code]private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

    if (tipoCadastro.equals("novo")){
        salvarCliente();// Aqui dá erro!
        
    } else if(tipoCadastro.equals("alteracao")){
        
        alteraCliente(); // Aqui da erro também!
    }
}      
   
   
}                                         

private void btnAlterarActionPerformed(java.awt.event.ActionEvent evt) {                                           
    // TODO add your handling code here:
    novaPessoa();
    habilitarCampos();
    recuperarPessoas();
    tipoCadastro = "alteracao";
}                      [/code]

Metódo alterar e salvar, dentro da camada view:

[code]private boolean salvarPessoa() {

    pessoa.setNome(txtNome.getText());
    pessoa.setEndereco(txtEndereco.getText());
    pessoa.setBairro(txtBairro.getText());
    pessoa.setCPF(txtCPF.getText());
    pessoa.setSexo(txtSexo.getText());
    pessoa.setUf(txtUF.getText());
    pessoa.setCelular(txtCelular.getText());
    pessoa.setTelefone(txtTelefone.getText());
    pessoa.setCidade(txtCidade.getText());
    
    Integer codigo = pessoa.getCodigo();
     String nome = pessoa.getNome();

JOptionPane.showMessageDialog(this, “Código:”+codigo+ “nome:”+nome);

    if (pessoaController.salvar(pessoa)) {

        JOptionPane.showMessageDialog(this, "Registro gravado com sucesso!");
        this.desabilitarCampos();
        this.carregarPessoas();
        return true;
        
    } else {
        JOptionPane.showMessageDialog(this, "Erro ao gravar os dados!", "ERRO", JOptionPane.ERROR_MESSAGE);
         return false;
    }
}

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());
    
      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;
    }

    

}

private void habilitarCampos() {
txtNome.setEditable(true);
txtEndereco.setEditable(true);
txtBairro.setEditable(true);
txtCidade.setEditable(true);
txtCPF.setEditable(true);
txtUF.setEditable(true);
txtTelefone.setEditable(true);
txtCelular.setEditable(true);
txtSexo.setEditable(true);
btnSalvar.setEnabled(true);
}

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";
}

protected void desabilitarCampos() {
txtNome.setEditable(false);
txtEndereco.setEditable(false);
txtBairro.setEditable(false);
txtCidade.setEditable(false);
txtCPF.setEditable(false);
txtUF.setEditable(false);
txtTelefone.setEditable(false);
txtCelular.setEditable(false);
txtSexo.setEditable(false);
btnSalvar.setEnabled(false);
}

private void carregarPessoas() {
DefaultTableModel tabela = (DefaultTableModel) tblPessoa.getModel();
tabela.setNumRows(0);

    List<Pessoa> pessoas = pessoaController.listar();
    Pessoa pessoa = null;

    for (int i = 0; i < pessoas.size(); i++) {
        pessoa = pessoas.get(i);

        tabela.addRow(new Object[]{0});

        tabela.setValueAt(pessoa.getCodigo(), i, 0);
        tabela.setValueAt(pessoa.getCPF(), i, 1);
        tabela.setValueAt(pessoa.getNome(), i, 2);
        tabela.setValueAt(pessoa.getCidade(), i, 3);
        tabela.setValueAt(pessoa.getTelefone(), i, 4);

    }
    tblPessoa.setModel(tabela);
}

[/code]

Acho que teu erro dentro do carrega pessoas é que você tá iniciando o objeto pessoa como nulo e depois não cria uma nova pessoa …

Tenta instanciar ele

//seu código
Pessoa pessoa = null; 
for (int i = 0; i < pessoas.size(); i++) {  
pessoa = pessoas.get(i);  

...
}

Tentei e não deu certo! Consegui achar o erro de alterar os dados do meu projeto?