Скрыть/Показать пароль в JTextFIeld (Java Swing)

Итак, я работал над средством проверки пароля и тем, как он работает, так это то, что пользователь вводит какой-то случайный текст в текстовое поле, а затем отображается мгновенная визуальная обратная связь (разбивка точек). Я также добавил флажок, который при выборе должен скрыть пароль, то есть заменить все символы звездочками, сохраняя при этом фактический ввод текста пользователем. Слушатель документа используется для отслеживания изменений внутри текстового поля. (каждый char на входе анализируется, а затем забивается)

Итак, мой вопрос в том, как именно я маскирую пользовательский ввод со звездочками, сохраняя его исходное значение?

Вот как выглядит графический интерфейс:

http://speedcap.net/sharing/screen.php?id=files/51/2f/512f9abb3f92a25add7c593e9d80e9e4.png

Ответ 1

Как именно я маскирую пользовательский ввод со звездочками, сохраняя его исходное значение?

Используйте JPasswordField, у которого есть приятная функция jPasswordField.getPassword();, чтобы получить пароль как char[] для работы.

  • Используйте jPasswordField1.setEchoChar('*') для маскировки символов пароля с помощью *.
  • Если вы хотите увидеть значение, которое вы вставляете, используйте jPasswordField1.setEchoChar((char)0); Установка значения 0 означает, что вы хотите видеть текст по мере его ввода, аналогично поведению стандартного JTextField.

Учебное пособие и ссылки:

Ответ 2

ok спасибо за учебник,

и ex,

action chechbox/двойной клик

private void lihat ActionPerformed (java.awt.event.ActionEvent evt) {

   if (lihat.isSelected())
        {
            password.setEchoChar((char)0); //password = JPasswordField
        }
    else
        {

            password.setEchoChar('*');
        }

}