Boa tarde galera, tenho um Panel tabulado aqui que contem 2 partes, na 1º parte tenho o campo nome, e na 2º parte do Panel tabulado tenho o campo rua, o método é pra verificar se os campos estão em branco, mas ele só ta verificando o campo nome do primeiro panel, o segundo ele não verifica… será por que??
vo postar o método aqui… vlw
private boolean verificarCampos()
{
if(tf_nome.getText().equals(""))
{
JOptionPane.showMessageDialog(null, "O campo NOME esta em branco");
return false;
}
else if(this.tf_rua.getText().equals(""))// ESSA VERIFICAÇÃO NÃO ESTÁ OCORRENDO
{
JOptionPane.showMessageDialog(null, "O campo RUA esta em branco");
return false;
}
return true;
}
[code]private boolean verificarCampos() // TENTA ASSIM QUE DA CERTO
{
boolean temp = true;
if(tf_nome.getText().equals(""))
{
JOptionPane.showMessageDialog(this, "O campo NOME esta em branco");
temp = false;
}
if (tf_rua.getText().equals(""))
{
JOptionPane.showMessageDialog(this, "O campo RUA esta em branco");
temp = false;
}
return temp;
} [/code]
[quote=augustosilverio]private boolean verificarCampos() // TENTA ASSIM QUE DA CERTO
{
boolean temp = true;
if(tf_nome.getText().equals(""))
{
JOptionPane.showMessageDialog(this, "O campo NOME esta em branco");
temp = false;
}
if (tf_rua.getText().equals(""))
{
JOptionPane.showMessageDialog(this, "O campo RUA esta em branco");
temp = false;
}
return temp;
} [/quote]
Coloca as tegs CODE para melhor vizualizar!!
Não deu certo por que é basicamente a mesma coisa que eu fiz…
Voce estava condicionando a comparacao;
por gentiliza post o erro.
Sem saber o contexto em que está usando este verificarCampos() fica difícil ajudar. Olhando apenas para o mtodo não há motivo para que a segunda comparação não ocorra.
[quote=augustosilverio]Voce estava condicionando a comparacao;
por gentiliza post o erro.
talvez no teu actionPerfomed (se estiver usando actionListener) a tua comparacao (ex: if(e.getSource==btCadastrar)) esteja antes do metodo que esta chamando.[/quote]
Não é exatamente um erro, é que não ta verificando se o campo RUA ta vazio ou não…
BOTÃO
[code] private void bt_salvarActionPerformed(java.awt.event.ActionEvent evt) {
if((evt.getSource() == bt_salvar) && (this.verificarCampos()))
{
}[/code]
ESSE É O MÉTODO COMPLETO DE VERIFICAÇÃO
[code]private boolean verificarCampos()
{
String CPF = this.removeNaoNumericos(tf_cpf.getText());
String CNPJ = this.removeNaoNumericos(tf_cnpj.getText());
if (tf_nome.getText().equals("")) {
JOptionPane.showMessageDialog(null, "O campo NOME esta em branco");
return false;
} else if ((!this.ra_cliente.isSelected()) && (!this.ra_fornecedor.isSelected()) && (!this.ra_ambos.isSelected())) {
JOptionPane.showMessageDialog(null, "Selecione uma Classificaçao");
return false;
} else if ((!this.ra_fisica.isSelected()) && (!this.ra_juridica.isSelected())) {
JOptionPane.showMessageDialog(null, "Selecione um Tipo de Pessoa");
return false;
} else if (this.ra_fisica.isSelected()) {
boolean result = false;
if (CPF.equals("")) {
JOptionPane.showMessageDialog(null, "O campo CPF esta em Branco");
result = false;
}
return result;
} else if (this.ra_juridica.isSelected()) {
boolean result = false;
if (CNPJ.equals("")) {
JOptionPane.showMessageDialog(null, "O campo CNPJ esta em Branco");
result = false;
}
return result;
} else if (this.tf_rua.getText().equals("")) { // NESTA PARTE QUE NÃO OCORRE A VERIFICAÇÃO
JOptionPane.showMessageDialog(null, "O campo RUA esta em branco");
return false;
}
return true;
}[/code]
olha ai em cima, ta completo agora…
ops =D
Vou ver ja lhe digo… Mas nao pode haver um return fora das comparacões e outro dentro, no caso dentro dos if voce tera que usar uma var auxiliar e retorna-la
[quote=augustosilverio]ops =D
Vou ver ja lhe digo… Mas nao pode haver um return fora das comparacões e outro dentro, no caso dentro dos if voce tera que usar ma auxiliar e retorna-la[/quote]
Sem esse ultimo retorno ai o método fica pendido algum retorno, portanto não da certo…
Se eu colocar pra verificar só o campo NOME e o campo RUA, da certinho, mas quando coloco as outras verificações ele não verifica o campo RUA…
[code]private boolean verificarCampos()
{
String CPF = this.removeNaoNumericos(tf_cpf.getText());
String CNPJ = this.removeNaoNumericos(tf_cnpj.getText());
if (tf_nome.getText().equals("")) {
JOptionPane.showMessageDialog(null, "O campo NOME esta em branco");
return false;
} if ((!this.ra_cliente.isSelected()) && (!this.ra_fornecedor.isSelected()) && (!this.ra_ambos.isSelected())) {
JOptionPane.showMessageDialog(null, "Selecione uma Classificaçao");
return false;
} if ((!this.ra_fisica.isSelected()) && (!this.ra_juridica.isSelected())) {
JOptionPane.showMessageDialog(null, "Selecione um Tipo de Pessoa");
return false;
} if (this.ra_fisica.isSelected()) {
if (CPF.equals("")) {
JOptionPane.showMessageDialog(null, "O campo CPF esta em Branco");
return false;
}
} if (this.ra_juridica.isSelected()) {
if (CNPJ.equals("")) {
JOptionPane.showMessageDialog(null, "O campo CNPJ esta em Branco");
return false;
}
return result;
} if (this.tf_rua.getText().equals("")) { // NESTA PARTE QUE NÃO OCORRE A VERIFICAÇÃO
JOptionPane.showMessageDialog(null, "O campo RUA esta em branco");
return false;
} else{
return true;
}
} [/code]
Bem o return tem que ter uma validacao no caso do cpf se for em branco ok ele retorna false mas se nao for, devido a estar dentro de outro if ele tem que ter uma validacao dentro do if ,creio que temos que ver como continuar, era oque estava acontecendo antes, que estava tudo else if no ultime else if nao definia condicao (else)
[quote=augustosilverio][code]private boolean verificarCampos()
{
String CPF = this.removeNaoNumericos(tf_cpf.getText());
String CNPJ = this.removeNaoNumericos(tf_cnpj.getText());
if (tf_nome.getText().equals("")) {
JOptionPane.showMessageDialog(null, "O campo NOME esta em branco");
return false;
} if ((!this.ra_cliente.isSelected()) && (!this.ra_fornecedor.isSelected()) && (!this.ra_ambos.isSelected())) {
JOptionPane.showMessageDialog(null, "Selecione uma Classificaçao");
return false;
} if ((!this.ra_fisica.isSelected()) && (!this.ra_juridica.isSelected())) {
JOptionPane.showMessageDialog(null, "Selecione um Tipo de Pessoa");
return false;
} if (this.ra_fisica.isSelected()) {
if (CPF.equals("")) {
JOptionPane.showMessageDialog(null, "O campo CPF esta em Branco");
return false;
}
} if (this.ra_juridica.isSelected()) {
if (CNPJ.equals("")) {
JOptionPane.showMessageDialog(null, "O campo CNPJ esta em Branco");
return false;
}
return result;
} if (this.tf_rua.getText().equals("")) { // NESTA PARTE QUE NÃO OCORRE A VERIFICAÇÃO
JOptionPane.showMessageDialog(null, "O campo RUA esta em branco");
return false;
} else{
return true;
}
} [/code][/quote]
Ai augusto, eu vi que você mudou o retorno da verificação do CPF e do CNPJ, mas mesmo assim não ocorre a verificação do campo RUA, eu tentei criar outro método para verificar somente os endereços, mas tbm não verifica o campo RUA…
Quando você colocou o Else na ultima condição para retorna true, o método ta acusando um erro de que não existe retorno…
uhmm ok. vou ver bem… espero que minha opnião tenha sido util… Vamos em frente… analisarei melhor…
so uma pergunta voce esta usando extends JComboBox, ou melhor de qual classe voce usou para herenca?
Ta parecendo que os dados do outro 2º panel tabulado não não está sendo verificados…
muio estranho mesmo…
uhmm tbm pode ser o metodo isSelected() retorna um boleano. nos if voce somente esta chamando o metodo nao esta comparando (==true)
porem voce disse que so a rua nao funfa… vamos ver…
=D
[code]private boolean verificarCampos()
{
String CPF = this.removeNaoNumericos(tf_cpf.getText());
String CNPJ = this.removeNaoNumericos(tf_cnpj.getText());
if (tf_nome.getText().equals("")) {
JOptionPane.showMessageDialog(null, "O campo NOME esta em branco");
return false;
} else if ((!this.ra_cliente.isSelected()) && (!this.ra_fornecedor.isSelected()) && (!this.ra_ambos.isSelected())) {
JOptionPane.showMessageDialog(null, "Selecione uma Classificaçao");
return false;
} else if ((!this.ra_fisica.isSelected()) && (!this.ra_juridica.isSelected())) {
JOptionPane.showMessageDialog(null, "Selecione um Tipo de Pessoa");
return false;
} else if (this.ra_fisica.isSelected()&& CPF.equals("")) {
JOptionPane.showMessageDialog(null, "O campo CPF esta em Branco");
return false;
}
} else if (this.ra_juridica.isSelected()&&CNPJ.equals("")) {
return false;
}
} else if (this.tf_rua.getText().equals("")) { // NESTA PARTE QUE NÃO OCORRE A VERIFICAÇÃO
JOptionPane.showMessageDialog(null, "O campo RUA esta em branco");
return false;
} else{
return true;
}
}
[/code]
Mudei a comparacao, e a condicao do ultimo return, tenho quase certeza que e isto
[quote=augustosilverio][code]private boolean verificarCampos()
{
String CPF = this.removeNaoNumericos(tf_cpf.getText());
String CNPJ = this.removeNaoNumericos(tf_cnpj.getText());
if (tf_nome.getText().equals("")) {
JOptionPane.showMessageDialog(null, "O campo NOME esta em branco");
return false;
} else if ((!this.ra_cliente.isSelected()) && (!this.ra_fornecedor.isSelected()) && (!this.ra_ambos.isSelected())) {
JOptionPane.showMessageDialog(null, "Selecione uma Classificaçao");
return false;
} else if ((!this.ra_fisica.isSelected()) && (!this.ra_juridica.isSelected())) {
JOptionPane.showMessageDialog(null, "Selecione um Tipo de Pessoa");
return false;
} else if (this.ra_fisica.isSelected()&& CPF.equals("")) {
JOptionPane.showMessageDialog(null, "O campo CPF esta em Branco");
return false;
}
} else if (this.ra_juridica.isSelected()&&CNPJ.equals("")) {
return false;
}
} else if (this.tf_rua.getText().equals("")) { // NESTA PARTE QUE NÃO OCORRE A VERIFICAÇÃO
JOptionPane.showMessageDialog(null, "O campo RUA esta em branco");
return false;
} else{
return true;
}
}
[/code]
Mudei a comparacao, e a condicao do ultimo return, tenho quase certeza que e isto[/quote]
Ai mano, aparentemente deu certo, qualquer coisa eu aviso!!!
T+++++