JTextField e JPasswordField

Estou com problemas na hora de criar uma tela de Editar Dados, gostaria de quando o usuário deixasse algum campo vazio aparecesse uma mensagem para ele não deixar em branco, para não sobrescrever no banco o que estava completado já.

Tive problemas por ser JTextField e JPasswordField de acordo como foi colocado no código abaixo

if(passSenha == "" && passSenhaConf == "" 
  && passNovaSenha == "" && txtTipoUsuario == "" 
  && txtNome == "" &&	txtSenha  == ""
  && txtNovaSenha == "" && txtSenhaConf == "" 
  && txtEmail == "" && txtEmailConf  == "" 
  && txtRaRf  == "" && txtArea == "" &&  txtSexo  == "")
{
				
    System.out.println("Os campos nao podem ficar vazios!");
    JOptionPane.showMessageDialog(this,"Os campos nao podem ficar vazios!");
}

Alguém pode me ajudar?

Faça assim:

if((passSenha.getText().replace(" ","").isEmpty()) || (passSenhaConf.getText().replace(" ","").isEmpty()) || //segue a lógica ){
     System.out.println("Os campos nao podem ficar vazios!");
    JOptionPane.showMessageDialog(this,"Os campos nao podem ficar vazios!");
}

onde:
passSenha.getText().replace(" ","").isEmpty() eu pego o texto que está neste neste JTextField ou JPasswordField, repasso os espaços que tem por vazio(para se o usuário digitar somente espaços nos campos) e depois verifico se essa String que foi retornada está vazia.
Ai é só verificar em todos os campos, e usando o ||, pois com o || se apenas um campo estiver vazio ele já exibe a mensagem.

Obrigado!

Eu tinha pensado anteriormente em utilizar o && para que somente depois que todos os campos estivessem completados fosse ocorrido, porém vi que seria melhor utilizando o ||, obrigado por ajudar com tudo :slight_smile:

[edit] [code] if(event.getSource() == btnSalvar){

     if((passSenha.getText().replace(" ","").isEmpty()) || (passSenhaConf.getText().replace(" ","").isEmpty()) || (passNovaSenha.getText().replace(" ","").isEmpty()) || (txtTipoUsuario.getText().replace(" ","").isEmpty()) || (txtNome.getText().replace(" ","").isEmpty()) ||
     (txtSenha.getText().replace(" ","").isEmpty()) || (txtNovaSenha.getText().replace(" ","").isEmpty()) || (txtSenhaConf.getText().replace(" ","").isEmpty()) || (txtEmail.getText().replace(" ","").isEmpty()) || (txtEmailConf.getText().replace(" ","").isEmpty()) || 
     (txtRaRf.getText().replace(" ","").isEmpty()) || (txtArea.getText().replace(" ","").isEmpty()) || (txtSexo.getText().replace(" ","").isEmpty())){
     
     
        System.out.println("Os campos nao podem ficar vazios!");
        JOptionPane.showMessageDialog(this,"Os campos não podem ficar vazios!");
        
                 
         
     }
     
              
           if(passSenha.getText().equals(passSenhaConf.getText()) != (passSenha.getText().replace(" ","").isEmpty()) || (passSenhaConf.getText().replace(" ","").isEmpty())  && txtEmail.getText().equals(txtEmailConf.getText()) != (txtEmail.getText().replace(" ","").isEmpty()) || (txtEmailConf.getText().replace(" ","").isEmpty()) ){ //utilizar getText para comparar.
        
        
        
        //falta implementar com o banco
           System.out.println("Dados Alterados com sucesso");
           JOptionPane.showMessageDialog(this,"Dados Alterados com sucesso!");
           this.dispose();
           
           
                       
        
        
        } 
     


     

     else{
        System.out.println("E-mail ou senha invalidos!");
        JOptionPane.showMessageDialog(null,"E-mail ou Senha inválidos!");
     }
      
      
        
  
     
  }

[/code]

Eu coloquei desta forma e mesmo assim mas agora aparece a mensagem “Os campos nao podem ficar vazios!” porém mesmo assim quando dou o ok, mostra que os Dados Foram alterados do mesmo jeito, o que estou fazendo de errado? Eu gostaria que os dados fossem alterados somente quando os Campos não estivessem vazios e as senhas estivessem corretas.