Eventos numa JComboBox

3 respostas
Vanilson

Pessoal é o seguinte, eu tenho uma JComboBox com todos os codigos do cliente o que eu quero fazer é que ao selecçionar um determinado codigo na JComboBox os valores desse cliente são setados nas JTextField so que basta eu arrancar o programa e clicar no menu aonde faço isso ele gera uma excepção do tipo NullPointerException na linha em que estou a colocar os valores, nem chama mais a JFrame, o meu metodo de pesquisa esta correcto porque testei de um outro jeito e funcionou, eis os metodos:

public void pesquisaCliente(){
		String codigoCliente = cboCodigoCliente.getSelectedItem().toString();
		GravadorCliente gc = new GravadorCliente();
		try{
			ClienteModelo cm= (ClienteModelo)gc.ler(codigoCliente);
			if(cm != null){
				txtNomeCliente.setText(cm.getNomeCliente());
				txtValorActual.setText(cm.getSaldoContaCliente() + "");
			}
			else
				JOptionPane.showMessageDialog(this, "Registo não encontrado","BFA - Deposito",JOptionPane.ERROR_MESSAGE);
        }
        catch (IOException ex)
        {
            JOptionPane.showMessageDialog(this, "Erro ao fazer a leitura do ficheiro","BFA - Deposito",JOptionPane.ERROR_MESSAGE);
        }
    }
public void actionPerformed(ActionEvent e) {
		cboCodigoCliente = (JComboBox)e.getSource();
		if(e.getSource() == btnPesquisarDadosCliente){
			pesquisaCliente();
		}
		else if(e.getSource() == btnNovo){
			habilitarCampos();
			incrementaCodigoDeposito();
		}
		else if(e.getSource() == btnGuardar){
			inserirDeposito();
			limparCampos();
			btnNovo.setEnabled(true);
			btnGuardar.setEnabled(false);
		}
		else if(e.getSource() == btnLimpar){
			limparCampos();
		}
		else if(e.getSource() == btnCancelar){
			this.dispose();
		}
        else if(!cboCodigoCliente.getSelectedItem().toString().equals("-1")){
            pesquisaCliente();
        }
    }

3 Respostas

ViniGodoy

Já tentou usar o depurador nessa linha?

Vanilson

Como é que eu uso?

ViniGodoy



Deve ter vídeos lá para o Eclipse também.

Criado 16 de julho de 2011
Ultima resposta 16 de jul. de 2011
Respostas 3
Participantes 2