package Main;

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.control.Tooltip;
import javafx.scene.text.Font;
import javafx.stage.Stage;

import java.awt.*;

public class Main extends Application
{
    public static void main(String[] args)
    {
            launch(args);
    }

    public void start(Stage primaryStage) throws Exception
    {
        Group group = new Group();

        Scene scene = new Scene(group);

        primaryStage.setScene(scene);
        primaryStage.setTitle("javafx 文本框 密码框");
        primaryStage.setHeight(400);
        primaryStage.setWidth(650);
        TextField text = new TextField();
        text.setPromptText("请填写邮箱");//光标关闭才会显示
        text.setFocusTraversable(false);//光标关闭

        //给文本框输入添加规则
        String yx="[A-z0-9_-]*\\\\\\\\@[A-z0-9]+\\\\\\\\.[A-z]+";
        text.textProperty().addListener(new ChangeListener<String>() {

            public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue)
            {
                if(newValue.matches(yx)==true)
                {
                    System.out.println("是邮箱");
                }
                else
                {
                    System.out.println("不是");
                }
            }
        });

        text.setLayoutX(100);
        text.setLayoutY(200);

        text.setFont(Font.font(14));

        Tooltip tip= new Tooltip("请填写邮箱");
        text.setTooltip(tip);//提示

        PasswordField ptext = new PasswordField();
        ptext.setPromptText("请输入密码");
        ptext.setLayoutX(300);
        ptext.setLayoutY(200);
        ptext.setFont(Font.font(14));
        ptext.setFocusTraversable(false);

        Label lbzh = new Label("账户:");
        lbzh.setLayoutX(55);
        lbzh.setLayoutY(205);
        lbzh.setFont(Font.font(14));

        group.getChildren().addAll(text,ptext,lbzh);
        primaryStage.setResizable(false);//设置窗口大小不可改变
        primaryStage.show();
    }
}

运行结果