学新东西的时候感觉中途不停 一停全忘了 刚刚遇到个坑分享一下 组件实例化过程中 必须要加id 或者回报空指针异常
我直接在Controller下的方法initialize中写的
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
input.setTextFormatter(new TextFormatter<String>(new UnaryOperator<Change>() {
@Override
public Change apply(Change t) {
System.out.println(t.getText());
String val=t.getText();
if(val.matches("^[0-9]*$")){//正则在整数0-9
return t;//符合正则的情况下 赋值给 input框(习惯性的叫 其实fx中叫TextField)
}
return null;//不符合正则 就不赋值
}
}));
}
运行结果如图 输入0-9之间的1234控制台也显示了 也赋值了 有输出了asd 控制台显示了 但没有赋值 表单验证成功!!正则自己改改即可 也可以自己加点样式