Dúvida Herança

2 respostas
josimarsis

Salve galera! Estou tentando criar o meu JPasswordField personalizado da seguinte forma:

public class JCustomPasswordField extends JPasswordField {

private JPasswordField jPasswordFieldModel = new JPasswordField();

    /**
     * Constroi um novo CustomPasswordComponent
     */
    public JCustomPasswordField() {
       focusListener();
    }

    private void focusListener() {
        this.addFocusListener(new java.awt.event.FocusAdapter() {

            @Override
            public void focusGained(FocusEvent e) {
                //Fundo amarelo
                setBackground(new Color(238, 251, 180));
                selectAll();
                super.focusGained(e);
            }

            @Override
            public void focusLost(java.awt.event.FocusEvent evt) {
                //Fundo original de um JPasswordField
                setBackground(jPasswordFieldModel.getBackground());
                super.focusLost(evt);
            }
        });
    }
}

Bem galera, o problema acontece quando vou digitar neste componente, pois os caracteres não ficam ocultos mesmo o meu componente herdando de um JPasswordField. Alguem sabe me dizer o por que?

2 Respostas

gpellizzoni

Você tem que usar

setEchoChar('*');
josimarsis

gpellizzoni, deu certo! Obrigado.

Criado 10 de agosto de 2011
Ultima resposta 11 de ago. de 2011
Respostas 2
Participantes 2