文本框、密码框、标签
文本框
常规设置
TextField textField = new TextField(); textField.setText("请输入内容"); textField.setPrefWidth(200); textField.setPrefHeight(30); textField.setLayoutX(primaryStage.getWidth() / 2 - textField.getPrefWidth() / 2); textField.setLayoutY(primaryStage.getHeight() / 2 - textField.getPrefHeight() / 2);
设置提示
textField.setTooltip(new Tooltip("这是一个输入框"));
设置文本框中提示文字
// 提示文字信息 textField.setPromptText("请输入内容"); // 设置默认失焦 textField.setFocusTraversable(false);
监听文本输入
textField.textProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { // 如果输入的字符串长度大于7位,则填充上一个字符串,即限制字符串长度为7 if (newValue.length() > 7) { textField.setText(oldValue); } } });
监听选中的文本变化
textField.selectedTextProperty().addListener(new ChangeListener<String>() { @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) { System.out.println(newValue); } });
密码框
创建密码框
PasswordField passwordField = new PasswordField();
其他设置与文本框类似
监听事件与文本框类似
标签
创建标签
Label label = new Label("I'm a label");
其他设置与文本框类似
鼠标单击事件
label.setOnMouseClicked(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { System.out.println("label clicked"); } });