Java regexes aren't surrounded by '/'. Depending on the actual behavior you want, you need something like
final Pattern pattern = Pattern.compile("^\\d*\\.?\\d*$");
final TextField tf = new TextField() {
@Override
public void replaceText(int start, int end, String text) {
String newText = getText().substring(0, start)+text+getText().substring(end);
if (pattern.matcher(newText).matches()) {
super.replaceText(start, end, text);
}
}
@Override
public void replaceSelection(String text) {
int start = getSelection().getStart();
int end = getSelection().getEnd();
String newText = getText().substring(0, start)+text+getText().substring(end);
if (pattern.matcher(newText).matches()) {
super.replaceSelection(text);
}
}
};