PasswordField

9 respostas
java
S

Olá, amigos gostaria de uma ajuda.

estou desenvolvendo uma tela de login, estou validando o login do usuário sendo se o mesmo existir no banco
ativa o campo senha que é um PasswordField.

inicio a aplicação com o PasswordField com setvisible(false), o proble é que quando valida o login o mesmo não ativa com setvisible(true).

alguém poderia ajudar…

9 Respostas

Jederson_Andre

Ta dando erro??? manda o codigo ai

S

Criei um método pra validar o login.
sendo que no construtor da classe jPasswordField inicia com setvisible(false).

private void acesso(){

if(jTextField_Nome.getText().equals("leo")){
         
       
       jPasswordField_Senha.setVisible(true);
       jPasswordField_Senha.requestFocus();
               
    }
        
}

nesse caso o jpasswor não fica visível de jeito nenhum…
esse é só pra teste.

M

e quando você chama este método acesso() , colocou ele pra ser executado quando ? em algum evento de algum campo ?

S

Sim chamo ele na ação do jbuton.

private void jButton_AcessoActionPerformed(java.awt.event.ActionEvent evt) {

acesso();
    
}
Jonathan_Medeiros

Faz da seguinte forma!

Tira o jpassword.setVisible(false) do construtor, adicione ele no evento formWindowOpened do jFrame, desta forma vai funcionar do jeito que você está esperando.

Jederson_Andre

Bom acho que ai esta o problema… vc add o metodo no construtor, ele não sera visivel.
por que vc nao altera a propriedade de Enable ?

Como vc já setou o componente como visible(false) vc teria que recarregar o formulario novamente para ele aparecer.

S

Já testei com o Enable, funciona, mais fica com as bordas sobrepostas, só questão de design mesmo, por isso tava tentando usar o setvisible mesmo…

agradeço.

S

OK, vou testar e retorno…Valeu.

S

Galera, consegui resolver essa problema, usei a dica do Jonathan Medeiros, segue, form.

package view;

import javax.swing.JOptionPane;

public class Login extends javax.swing.JFrame {

public Login() {
    
    initComponents();
    
    //Aqui vc esta adicionando um novo evento ao seu form
    addWindowListener(new java.awt.event.WindowAdapter() {
        public void windowOpened(java.awt.event.WindowEvent evt) {
            formWindowOpened(evt);//chama o metodo que desativa o jpasswordfield
        }
    });
    
    
}

// End of variables declaration

//Validar Login usuario
private void validar(){
    
    if(jTextField_Nome.getText().equals("leo")){
    
       jPasswordField_Senha.setVisible(true);
       jPasswordField_Senha.requestFocus();
    
    }else{
        
       JOptionPane.showMessageDialog(null,"Login Inválido !!!");
       jTextField_Nome.requestFocus();
        
    }
    
}
//Método para desativar o jPassword
private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
    
    jPasswordField_Senha.setVisible(false);
    
}

}

Funcionou perfeitamente, agora aplicar no meu sistema.

Obrigado a todos.

Criado 12 de dezembro de 2017
Ultima resposta 13 de dez. de 2017
Respostas 9
Participantes 4