文本输入监听、文件选择监听。输入大概都类似。
package application;
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.TextField;
import javafx.scene.control.Tooltip;
import javafx.stage.Stage;
public class Input extends Application{
@Override
public void start(Stage primaryStage) throws Exception {
TextField textField = new TextField();
textField.setPromptText("请输入XXX");
textField.setLayoutX(100);
textField.setLayoutY(100);
textField.setFocusTraversable(false);
Tooltip tooltip = new Tooltip();
tooltip.setText("这个文本输入框的提示框");
textField.setTooltip(tooltip);
// 监听文本更改
textField.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
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);
}
});
Group group = new Group();
group.getChildren().add(textField);
Scene scene = new Scene(group);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}