Как вы раскрываете текст JPasswordField

Я делаю приложение для аутентификации в java и хочу добавить JRadioButton, где, если он выбран, он позволит вам увидеть текст в JPasswordField, я пытался понять это, и мне просто интересно, есть ли способ сделать это?


person Bill Nye    schedule 11.12.2015    source источник


Ответы (1)


Из Java-документа setEchoChar() метод:

Установка значения 0 указывает, что вы хотите видеть текст в том виде, в котором он набирается, аналогично поведению стандартного JTextField.

Так что просто используйте:

second.setEchoChar((char)0);

установить и сбросить:

second.setEchoChar('\u2022');

Значение по умолчанию EchoChar определяется внешним видом. Чтобы всегда быть в гармонии с темой, лучше всего сохранить EchoChar по умолчанию, прежде чем менять его в первый раз:

char originalEchoChar = second.getEchoChar();
person Dennis Kriechel    schedule 11.12.2015
comment
Как бы я вернул его к точкам? - person Bill Nye; 11.12.2015
comment
просто снова используйте старое значение (например, '*') - person Dennis Kriechel; 11.12.2015
comment
каким образом я попробовал это second.setEchoChar((char)*); а '*' выделен красным. - person Bill Nye; 11.12.2015
comment
вместо этого вам не понадобится (char): second.setEchoChar('*'); - person Dennis Kriechel; 11.12.2015
comment
JTextField использует маркер, есть ли способ получить это? - person Bill Nye; 11.12.2015
comment
@BillNye Мне потребовалось некоторое время, чтобы получить это, но это очень просто, просто используйте значок маркера Unicode, проверьте мое редактирование. Echo Char по умолчанию сдерживается внешним видом и по умолчанию является пулей. Чтобы всегда быть в сотрудничестве с темой, вы можете вызвать getEchoChar перед первым изменением символа и сохранить это значение для сброса. - person Dennis Kriechel; 11.12.2015