我需要在JFX textField中将输入长度限制为4位(字段可以为空或值为0-9999)。以下解决方案仅部分工作 - 我只能输入数字,但我想要的数量 - 限制不起作用。即使我从正则表达式中删除{0,4} 将IF条件更改为:
if(newText.matches(“\ d”)&& newText.length()> = 0&& newText.length()< 5)
它也不起作用。错误在哪里?
JFXtextField.textProperty().addListener((obs, oldText, newText) ->
{
if(newText.matches("\\d{0,4}"))
{
newText = newText;
}
else
{
newText = oldText;
}
});