9.JavaFx label、text、password

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.stage.Stage;

/**
 * label,text,password
 */
public class Demo10 extends Application {

    @Override
    public void start(Stage stage) throws Exception {

        Group group = new Group();
        Scene scene = new Scene(group);
        stage.setScene(scene);
        stage.setTitle("javafx");
        stage.setWidth(800);
        stage.setHeight(800);

        Label usernameLabel = new Label();
        usernameLabel.setText("账号:");

        usernameLabel.setLayoutX(50);
        usernameLabel.setLayoutY(100);

        // text
        TextField username = new TextField();
//        text.setText("这是文本");
        username.setLayoutX(100);
        username.setLayoutY(100);

        // tip
        Tooltip tip = new Tooltip("请输入7个字以内");
        username.setTooltip(tip);

        // placeholder
        username.setPromptText("请输入7个字以内");
        username.setFocusTraversable(false);
        username.textProperty().addListener(validListener(username, 7));

        Label passwordLabel = new Label();
        passwordLabel.setText("密码:");
        passwordLabel.setLayoutX(50);
        passwordLabel.setLayoutY(140);


        PasswordField password = new PasswordField();
        password.textProperty().addListener(validListener(password, 7));
        password.setLayoutX(100);
        password.setLayoutY(140);
        password.setPromptText("请输入7个字以内");

        group.getChildren().addAll(usernameLabel, username, passwordLabel, password);
        stage.show();
    }

    private ChangeListener validListener(TextInputControl text, int strLength) {
        return (ChangeListener<String>) (observableValue, oldValue, newValue) -> {
            if (newValue.length() > strLength) {
                text.setText(oldValue);
            }
        };
    }


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值