📜  JavaFx |密码字段

📅  最后修改于: 2022-05-13 01:54:45.101000             🧑  作者: Mango

JavaFx |密码字段

PasswordField 类是 JavaFX 包的一部分。它是一个屏蔽输入字符的文本字段(输入的字符不会向用户显示)。它允许用户输入单行无格式文本,因此它不允许多行输入。

PasswordField 类的构造函数:

  1. PasswordField() : 创建一个新的 PasswordField

(PasswordField继承了TextField,所以这里可以使用TextField的所有方法。密码字段没有单独的方法,都是从文本字段继承的。)

下面的程序说明了 PasswordField 类的使用:

  1. 创建密码字段的Java程序:该程序创建由名称 b 指示的密码字段。 PasswordField 将在场景中创建,而场景又将托管在舞台(这是顶级 JavaFX 容器)中。函数setTitle() 用于为舞台提供标题。然后创建一个标题窗格,在该窗格上调用 addChildren() 方法以将 PasswordField 附加到场景中,以及代码中 (200, 200) 指定的分辨率。最后调用 show() 方法显示最终结果。
    // Java program to create a passwordfield
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    public class Passwordfield extends Application
    {
          
        // launch the application
        public void start(Stage s)
        {
            // set title for the stage
            s.setTitle("creating Passwordfield");
              
            // create a Passwordfield
            PasswordField b =new PasswordField();
              
            // create a tile pane
            TilePane r = new TilePane();
              
              
            // add password field
            r.getChildren().add(b);
              
            // create a scene
            Scene sc =new Scene(r,200,200);
              
            // set the scene
            s.setScene(sc);
             
            s.show();
      
        }
          
        public static void main(String args[])
        {
            // launch the application
           launch(args);
        }
    }
    

    输出

  2. 用于创建密码字段并添加事件处理程序的Java程序:该程序创建由名称 b 指示的 PasswordField。我们将创建一个标签,当按下回车键时将显示密码。我们将创建一个事件处理程序来处理密码字段的事件,并且事件处理程序将使用 setOnAction() 方法添加到密码字段。 PasswordField 将在场景中创建,而场景又将托管在舞台(这是顶级 JavaFX 容器)中。函数setTitle() 用于为舞台提供标题。然后创建一个标题窗格,调用 addChildren() 方法在场景中附加 PasswordField 和标签,以及代码中 (200, 200) 指定的分辨率。最后调用 show() 方法显示最终结果。
    // Java program to create a passwordfield and add
    // a event handler to handle the event of Passwordfield
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    public class Passwordfield_1 extends Application
    {
          
        // launch the application
        public void start(Stage s)
        {
            // set title for the stage
            s.setTitle("creating Passwordfield");
              
            // create a Passwordfield
            PasswordField b =new PasswordField();
              
            // create a tile pane
            TilePane r = new TilePane();
              
            // create a label
            Label l = new Label("no Password");
              
            // action event
            EventHandler event = new EventHandler(){
            public void handle(ActionEvent e)
            {
                l.setText(b.getText());
            }
            };
              
            // when enter is pressed
            b.setOnAction(event);
              
            // add password field
            r.getChildren().add(b);
            r.getChildren().add(l);
              
            // create a scene
            Scene sc =new Scene(r,200,200);
              
            // set the scene
            s.setScene(sc);
             
            s.show();
      
        }
          
        public static void main(String args[])
        {
            //launch the application
           launch(args);
        }
    }
    

    输出

注意:以上程序可能无法在在线 IDE 中运行,请使用离线编译器。

参考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/PasswordField.html