Botao ALTERAR

Olá, eu meu projeto de cadastro de paciente é pelo formato MVC(Fachada, contorlador, repositorio), e eu ja consegui fazer os botoes de salvar, e pesquisar no BD pelo idPaciente.
minha duvida é quando eu pesquiso pelo idPaciente, e quero alterar algum campo.
meu codigo esta dando erro. seguem abaixo:

BOTAO ALTERAR

[code]btnSalvar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {

			try {
				Alterar();
			} catch (NumberFormatException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (UsuarioNaoEncontradoException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (RepositorioException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}[/code]

METODO ALTERAR

[code]public void Alterar() throws NumberFormatException, UsuarioNaoEncontradoException, RepositorioException, SQLException{
// paciente = fachada.pacienteProcurar(Integer.parseInt(tfIdPaciente.getText()));
paciente = new Paciente(tfNome.getText(), tfApelido.getText(), tfEmail.getText(),tfCelular.getText(),Integer.parseInt(tfIdade.getText()), tfEndereco.getText(), tfTelefone.getText(), tpSenha.getText());

	//JOptionPane.showMessageDialog(null, usuario.getNome() + " " + usuario.getAltura());
	
//	paciente.setidPaciente(Integer.parseInt(tfIdPaciente.getText()));				
	paciente.setNome(tfNome.getText());
	paciente.setApelido(tfApelido.getText());
	paciente.setEmail(tfEmail.getText());
	paciente.setEndereco(tfEndereco.getText());

	
			
	fachada.pacienteAtualizar(paciente);
	JOptionPane.showMessageDialog(null,"Usuário atualizado com sucesso");
	
	
}[/code]

FACHADA

public void pacienteAtualizar(Paciente paciente) throws UsuarioNaoEncontradoException, RepositorioException, SQLException { this.controladorPaciente.atualizar(paciente); }

CONTROLADOR

[code] public void atualizar(Paciente paciente) throws UsuarioNaoEncontradoException, RepositorioException, SQLException {
CadastroPaciente cadastroPaciente = new CadastroPaciente(this.repositorioPaciente);
// Validações da Classe Cliente
// Validações da Classe Usuario
if (paciente.getNome() == “” ||
paciente.getSenha() == “” ||
paciente.getIdade() == 0 ) {
//throw new DadosInvalidosException(“CPF” + pessoaFis.getCpf() + " ou Nome Inválido!");
} else{

	cadastroPaciente.atualizar(paciente);
	}[/code]

E o erro é esse :

Conectado com sucesso Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at PacienteView.PacienteAlterar.Alterar(PacienteAlterar.java:355) at PacienteView.PacienteAlterar$4.actionPerformed(PacienteAlterar.java:255) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$400(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

Seguem 2 imagens anexadas para melhor visualizacao
Quem souber por favor me ajuda.

Coloca um breakpoint no arquivo PacienteAlterar.java, linha 355 e veja o que está nulo. Provavelmente é o objeto chamado fachada.

Além disso, seu JOptionPane está errado. Ele deveria conter a janela pai no primeiro parâmetro e não null.

[quote=ViniGodoy]Coloca um breakpoint no arquivo PacienteAlterar.java, linha 355 e veja o que está nulo. Provavelmente é o objeto chamado fachada.

Além disso, seu JOptionPane está errado. Ele deveria conter a janela pai no primeiro parâmetro e não null.[/quote]

Desculpa minha ignorancia, mas sou bastante novo em java. eu debuguei como voce falou e apareceu isso ó:
como resolvo?

O tpSenha é um JPasswordField? Se for o caso, o certo seria fazer:

Se não for isso, certifique-se que você criou o tpSenha. Talvez tenha faltado dar “new” nele.

Nao é um jpassordfield n, eu ja n coloquei pra ficar mais facil hahaha
. e ja dei new ;/ desespero tomando conta de mim hahaha
vc tem skype ou algo do tipo? pq ai eu mostrava pra vc

Eu tenho uma duvida. ali eu estou criando outra instancia de paciente.
mas eu ja n tenho 1? quando clico no botao pesquisar ja aparece o meu paciente. entao n seria melhor tirar essa linha de comando?

Sim, o certo teria sido usar o procurar, como tá nos seus comentários.

Pronto, ja tirei os comentarios, mas continua o error =/
dammit!

ja fiz o botao excluir, salvar e pesquisar, so falta o altera.
eu tenho que chamar a instacia da fachada? tipo assim

Fachada fachada = Fachada.getInstance();

?