下午好!NullPointerException
在另一个搜索屏幕中选择所需记录后,当我尝试将数据加载到注册屏幕时遇到问题。我的代码。:搜索屏幕:
public int retornaSelecao() {
return (int) tablePesquisa.getValueAt(tablePesquisa.getSelectedRow(), 0);
}
private void tablePesquisaMouseClicked(java.awt.event.MouseEvent evt){
if (evt.getClickCount() == 2) {
CadastroCliente cliente = new CadastroCliente(this.retornaSelecao());
this.dispose();
}
}
这个屏幕我得到了记录的 idJTable
并调用屏幕寄存器作为传递 id 参数
现在是注册屏幕
public CadastroCliente() {
initComponents();
this.desabilitaCampos();
btnAlterar.setEnabled(false);
btnExcluir.setEnabled(false);
btnCancelar.setEnabled(false);
btnSalvar.setEnabled(false);
btnNovo.setEnabled(true);
btnPesquisa.setEnabled(true);
btnSair.setEnabled(true);
}
public CadastroCliente(int codigo){
String sql = "SELECT * FROM CLIENTE WHERE CODIGO = " + codigo;
Conexao conexao = new Conexao();
ResultSet rst;
//System.out.println("" + codigo);
try {
pstm = conexao.conectar().prepareStatement("SELECT * FROM CLIENTE WHERE CODIGO = '" + codigo + "';");
rst = pstm.executeQuery();
while (rst.next()) {
txtCodigo.setText("" + rst.getString("codigo"));
System.out.println("" + rst.getString("codigo"));
txtDataCadastro.setText(rst.getDate("datacadastro").toString());
txtDataNascimento.setDate(rst.getDate("datanascimento"));
txtNome.setText(rst.getString("nome").toUpperCase());
txtApelido.setText(rst.getString("apelido").toUpperCase());
txtEndereco.setText(rst.getString("endereco").toUpperCase());
txtNumero.setText(rst.getString("numero"));
txtComplemento.setText(rst.getString("complemento").toUpperCase());
txtBairro.setText(rst.getString("bairro").toUpperCase());
txtCep.setText(rst.getString("cep"));
txtNomeCidade.setText(rst.getString("cidade").toUpperCase());
txtRg.setText(rst.getString("rg"));
txtCpf.setText(rst.getString("cpf"));
cbPagamento.setSelectedItem(rst.getInt("diapagamento"));
txtMensalidade.setText("" + rst.getFloat("mensalidade"));
txtTelefoneResidencial.setText(rst.getString("telres"));
txtTelefoneComercial.setText(rst.getString("telcom"));
txtTelefoneCelular.setText(rst.getString("celular"));
txtInformacoes.setText(rst.getString("informacoes"));
}
} catch (SQLException ex) {
Logger.getLogger(CadastroCliente.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new CadastroCliente().setVisible(true);
}
});
}
我创建了两个构造函数NullPointerException
,在第一个完成后给予更多的JTextField
. 为什么给出这个错误?谁能帮我?谢谢你