Prezados, bom dia!
Estou há um bom tempo sem programar, e estou voltando agora com dúvidas bobas.
Não consigo lembrar como parar a execução de um método tratado.
Tenho um método circundado com try/catch no qual valida se campos estão vazios.
Ele faz a validação e avisa que deve ser preenchido o campo, porém a execução continua até chegar na base de dados e ocorrer NullPoniterException. Alguém dá uma luz para parar a execução no tratamento e manter a tela de cadastro para o usuário fazer a correção?
Seguem trechos do código:
Método montaObjeto
protected Produto montaObjeto() {
produto = new Produto();
produtoController = new ProdutoController();
try {
if(produtoController.validaCodBarras(txtCodBarras.getText())){
if(produtoController.validaDescricao(txtDescricaoProduto.getText())) {
if (produtoController.validaFornecedor(txtFornPrincipal.getText())) {
if ( produtoController.validaDiasEntrega(txtDiasEstEntrega.getText())) {
produto.setCodBarras(Long.parseLong(txtCodBarras.getText()));
produto.setDescricaoProduto(txtDescricaoProduto.getText());
produto.setFornecedorPrincipalProduto(txtFornPrincipal.getText());
produto.setDiasEstimadosEntregaProduto(Integer.parseInt(txtDiasEstEntrega.getText()));
produto.setUnidProduto((UnidadeProduto) cbUnidadeProduto.getSelectedItem());
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return produto;
Método cadastrar:
protected void cadastrar(Produto produto) {
produtoController.cadastrar(produto);
}
Listener que executa:
public void actionPerformed(ActionEvent arg0) {
try {
cadastrar(montaObjeto());
} catch (Exception e) {
e.printStackTrace();
}
JOptionPane.showMessageDialog(null, "Cadastrado com sucesso!");
}
Um dos métodos de tratamento de campos. Demais seguem o mesmo padrão:
public boolean validaDescricao(String descricao) {
boolean result = true;
if (descricao.equals(null) || descricao.equals("")) {
result = false;
JOptionPane.showMessageDialog(null, "Preencha o campo DESCRIÇÃO PRODUTO!");
}
return result;