文本字段接受并显示文本。在最新版本的JavaFX中,它仅接受一行。
与文本字段类似,密码字段接受文本,但是不显示给定的文本,而是通过显示回显字符串来隐藏键入的字符。
在JavaFX中,javafx.scene.control.PasswordField 表示一个密码字段,它继承了Text类。要创建密码字段,您需要实例化此类。
此类从其超类TextInputControl继承了一个名为text的属性。此属性保存当前密码字段的内容。您可以使用getText()方法检索此数据。
import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.PasswordField; import javafx.scene.control.TextField; import javafx.scene.layout.HBox; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.FontPosture; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; import javafx.stage.Stage; public class PasswordFieldVerification extends Application { public void start(Stage stage) { //创建节点 TextField textField = new TextField(); PasswordField pwdField = new PasswordField(); Button button = new Button("Submit"); button.setTranslateX(250); button.setTranslateY(75); //创建标签 Label label1 = new Label("Name: "); Label label2 = new Label("Password: "); //设置带有读取数据的消息 Text text = new Text(""); Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 10); text.setFont(font); text.setTranslateX(15); text.setTranslateY(125); text.setFill(Color.BROWN); //显示消息 button.setOnAction(e -> { //检索数据 String name = textField.getText(); String pwd = pwdField.getText(); if(pwd.equals("abc123")) { text.setText("Hello "+name+" welcome to Nhooo"); } else { text.setText("Wrong password try again"); } }); //为节点添加标签 HBox box = new HBox(5); box.setPadding(new Insets(25, 5 , 5, 50)); box.getChildren().addAll(label1, textField, label2, pwdField); Group root = new Group(box, button, text); //设置舞台 Scene scene = new Scene(root, 595, 150, Color.BEIGE); stage.setTitle("Password Field Example"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
输出结果
密码输入-mypassword
密码输入-abc123
主要内容:创建密码字段,示例用于密码输入。用户键入的字符通过显示回显字符串被隐藏。 创建密码字段 以下代码使用来自类的默认构造函数创建一个密码字段,然后为密码字段设置提示消息文本。 提示消息在字段中显示为灰色文本,并为用户提供该字段是什么的提示,而不使用标签控件。 类有方法来为控件设置文本字符串。对于密码字段,指定的字符串由回显字符隐藏。默认情况下,回显字符是一个点(或是星号)。 密码字段中的值可以通过方法获取。 示例 密码
问题内容: 我正在使用JavaFX和Scene Builder,并且有一个带有文本字段的表单。这些文本字段中的三个从字符串解析为双精度。 我希望它们是学校成绩,因此只能将其设置为1.0到6.0之间。不应允许用户写“ 2.34.4”之类的内容,但可以写“ 5.5”或“ 2.9”之类的内容。 验证已解析字段: 如何测试用户输入的值是否正确? 我已经在Stackoverflow和Google上进行了搜索
问题内容: 所以我需要屏蔽一个SSN#输入字段,假设ssn是,我需要显示(他们输入每个数字时都是实时的),但是我仍然需要保留原始值以提交。 如果用户严格输入值,我可以做到这一点,但是如果用户执行其他任何操作(如删除或将光标移动到随机位置并添加/删除数字,复制粘贴/删除等),它就会中断如果可能的话,我真的不想听一堆事件来完成这项工作。 我还尝试过在输入字段的顶部放置一个div来显示被屏蔽的ssn,而
编辑:FXML文件
我使用以下代码使用PBKDF2对密码进行哈希: 如何验证身份验证的密码?看来我需要拿到用来哈希密码的盐。我怎么拿到?请注意,我没有使用单独的字段来存储哈希。数据库中只存储散列密码。
我正在使用JMX远程监控我的服务器。但是,jmx-access和jmx密码存储我不想要的清除密码。 接下来是如何为JConsole的密码文件加密密码,如何使JMX自定义身份验证工作?以及如何创建登录模块?,我编写了一个自定义登录模块。 我的登录模块: 这是我的登录模块配置文件(d:/mysecurity.cfg): 启动服务器时,我使用以下参数: 然而,当我试图用JCsonle连接服务器时,我无法