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…
Ta dando erro??? manda o codigo ai
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.
e quando você chama este método acesso() , colocou ele pra ser executado quando ? em algum evento de algum campo ?
Sim chamo ele na ação do jbuton.
private void jButton_AcessoActionPerformed(java.awt.event.ActionEvent evt) {
acesso();
}
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.
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.
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.
OK, vou testar e retorno…Valeu.
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.