JavaFX输入验证文本字段

JavaFX输入验证文本字段,第1张

JavaFX输入验证文本字段
textField.focusedProperty().addListener((arg0, oldValue, newValue) -> {        if (!newValue) { //when focus lost if(!textField.getText().matches("[1-5]\.[0-9]|6\.0")){     //when it not matches the pattern (1.0 - 6.0)     //set the textField empty     textField.setText(""); }        }    });

您还可以将模式更改为

[1-5](.[0-9]){0,1}|6(.0){0,1}
然后
1,2,3,4,5,6
也可以(不仅是
1.0,2.0,...

更新 这是一个小型测试应用程序,允许使用值1(.00)至6(.00):

public class JavaFxSample extends Application {@Overridepublic void start(Stage primaryStage) {    primaryStage.setTitle("Enter number and hit the button");    GridPane grid = new GridPane();    grid.setAlignment(Pos.CENTER);    Label label1To6 = new Label("1.0-6.0:");    grid.add(label1To6, 0, 1);    TextField textField1To6 = new TextField();    textField1To6.focusedProperty().addListener((arg0, oldValue, newValue) -> {        if (!newValue) { // when focus lost     if (!textField1To6.getText().matches("[1-5](\.[0-9]{1,2}){0,1}|6(\.0{1,2}){0,1}")) {         // when it not matches the pattern (1.0 - 6.0)         // set the textField empty         textField1To6.setText("");     } }        });    grid.add(textField1To6, 1, 1);    grid.add(new Button("Hit me!"), 2, 1);    Scene scene = new Scene(grid, 300, 275);    primaryStage.setScene(scene);    primaryStage.show();}public static void main(String[] args) {    launch(args);}}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5430112.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存