我在javafx应用程序中创建了一个注册场景。注册场景包含多个文本字段,如名称,用户名和密码。我在徘徊如何设置要加密的密码的文本字段,以便没有人能看到通行证。我的代码如下:
class MySignUpTextField extends TextField {
public MySignUpTextField() {
setPrefWidth(400.0);
setPrefHeight(60.0);
setStyle("-fx-font: 30 cornerstone; -fx-text-fill: black; -fx-base: #17499F;");
}}
passSignupSLabel = new MySignUpLabel("Password:");
SsignupButtonPane.add(passSignupSLabel , 1, 2);
passSignupSTextField = new MySignUpTextField();
SsignupButtonPane.add(passSignupSTextField , 2, 2);
如何将passSignupSTextField转为加密?
答案 0 :(得分:3)
您是否考虑使用PasswordField
代替TextField
?
https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/PasswordField.html
答案 1 :(得分:2)
好的,这取决于你的意思是加密'。如果你的意思是'加密'如在将信息发送到数据库或服务器之前加扰输入,那么你的问题就太宽泛了。如果你想屏蔽TextField的输入,有一个非常简单的解决方案。创建一个新类MySignUpPasswordField,并使该类扩展PasswordField而不是TextField。 PasswordField已经为您屏蔽了输入,因此您不必手动执行此操作。 您可以在此处了解有关PasswordFields的更多信息,http://docs.oracle.com/javafx/2/ui_controls/password-field.htm
答案 2 :(得分:2)
使用PasswordField代替TextField
,TextField
是cardElevation
的子类,并屏蔽输入的字符。