Boa noite,
Estou fazendo uma aplicativo desktop
Estou tentando fazer um listener ou em algum evento do JTextField para que enquanto a senha for igual a zero o jlabel fica sem icone, enquanto for maior que 0 e menor 4 apareça o icone "X" e enquanto for maior ou igual a 4 aparece o icone "V" igual a alguns sites. (Igual está na imagem).
estou colocando os códigos que usei nos eventos e que usei nos listeners (testei varios eventos e listeners)
este é o que eu uso nos eventos (foi o mais perto de funcionar corretamente, no evento keyTyped):ImageIcon OKNeg;
if (txSenha.getText().length()==0){
lbSenhaAceita.setIcon(null);
}else if (txSenha.getText().length()>0 && txSenha.getText().length()<4){
OKNeg = new ImageIcon(getClass().getResource("/IconesGerais/gr_erro.png"));
lbSenhaAceita.setIcon(OKNeg);
}else if (txSenha.getText().length()>=4){
OKNeg = new ImageIcon(getClass().getResource("/IconesGerais/gr_ok.png"));
lbSenhaAceita.setIcon(OKNeg);
}
public class ListenerSenha implements InputMethodListener {
private int Comprimento;
protected ListenerSenha(int txLenght) {
this.Comprimento = txLenght;
}
@Override
public void inputMethodTextChanged(InputMethodEvent event) {
if (this.Comprimento == 0) {
AdmCadUsuario.getInstance().setSenhaNulo();
} else if (this.Comprimento < 0 && this.Comprimento > 4) {
AdmCadUsuario.getInstance().setSenhaNeg();
} else if (this.Comprimento >= 4) {
AdmCadUsuario.getInstance().setSenhaOK();
}
}
@Override
public void caretPositionChanged(InputMethodEvent event) {
}
}
txSenha.addInputMethodListener(new ListenerSenha(txSenha.getText().length()));
