JavaFX PasswordField

时间:2020-01-09 10:36:39  来源:igfitidea点击:

JavaFX PasswordField控件使JavaFX应用程序的用户能够输入密码,然后该密码可以被应用程序读取。 " PasswordField"控件不显示输入的文本。而是为输入的每个字符显示一个圆圈。 JavaFX PasswordField控件由类javafx.scene.control.PasswordField表示。

创建一个PasswordField

我们可以通过创建PasswordField类的实例来创建PasswordField控件。这是一个JavaFXPasswordField实例化示例:

PasswordField passwordField = new PasswordField();

将密码字段添加到场景图

为了使JavaFX" PasswordField"可见,必须将" PasswordField"对象添加到场景图。这意味着将其添加到"场景"对象,或者作为添加到"场景"对象的布局的子级。

这是一个将JavaFXPasswordField添加到场景图的示例:

package com.Hyman.javafx.controls;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.PasswordField;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class PasswordFieldExperiments extends Application  {

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("PasswordField Experiment 1");

        PasswordField passwordField = new PasswordField();

        HBox hbox = new HBox(passwordField);

        Scene scene = new Scene(hbox, 200, 100);
        primaryStage.setScene(scene);
        primaryStage.show();

    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}

运行上面的JavaFXPasswordField示例的结果是一个看起来像这样的应用程序:

获取密码字段的文本

我们可以使用其getText()方法(返回一个String)将文本输入到PasswordField中。这是一个完整的示例,其中显示了一个" PasswordField"和一个" Button",并在单击按钮时读取输入到" PasswordField"中的文本:

package com.Hyman.javafx.controls;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.PasswordField;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class PasswordFieldExperiments extends Application  {

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("PasswordField Experiment 1");

        PasswordField passwordField = new PasswordField();

        Button button = new Button("Click to get password");

        button.setOnAction(action -> {
            System.out.println(passwordField.getText());
        });

        HBox hbox = new HBox(passwordField, button);

        Scene scene = new Scene(hbox, 200, 100);
        primaryStage.setScene(scene);
        primaryStage.show();

    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}