线程很旧,但是看起来更整洁,并且如果粘贴则去除非数字字符。
// force the field to be numeric onlytextField.textProperty().addListener(new ChangeListener<String>() { @Override public void changed(Observablevalue<? extends String> observable, String oldValue, String newValue) { if (!newValue.matches("\d*")) { textField.setText(newValue.replaceAll("[^\d]", "")); } }});


