【发布时间】:2017-05-13 09:22:48
【问题描述】:
我发现这个 link 有助于使JavaFX TextField 只接受数值。但是我想简化解决方案,以便它可以在多个 TextField 上实现。
寻找类似的东西:
ChangeListener<String> numericTextFieldListener = (observable, oldValue, newValue) -> {
if(!newValue.matches("\\d*")) {
//textField.setText(newValue.replaceAll("[^\\d]", "")); //how to set this new value to parent text field?
}
};
textField1.textProperty().addListener(numericTextFieldListener);
textField2.textProperty().addListener(numericTextFieldListener);
textField3.textProperty().addListener(numericTextFieldListener);
textField4.textProperty().addListener(numericTextFieldListener);
// ... and so on
有什么推荐吗?
【问题讨论】:
标签: lambda javafx-8 textfield numeric