вы можете попробовать это (только FX11)
//check if character typed is a number
if (event.getCharacter().matches("[0-9]"))
{
event.consume();
//move caret back one step as we do not want the typed digit
//and want the caret to remain after last entered text
textField.backward();
//delete the typed digit
textField.deleteNextChar();
}
Обратите внимание, что здесь используется event.getCharacter () вместо event.getText ().Для меня getText () всегда пусто, как в этой ссылке:
JavaFX KeyEvent.getText () возвращает пустое значение?
Не также, если вы хотите перейти к оригиналумаршрут проверки, если он не равен z, не забудьте учесть также и AZ.Или преобразуйте символ в нижний регистр, прежде чем проверять совпадения в зависимости от регистра.
Только FX8
if (event.getCharacter().matches("[0-9]"))
{
event.consume();
}