我正在使用 javafx 文本字段。我需要输入数字和小数,小数应符合格式###.###.###.###,其中小数根本不可编辑,数字可以是任何数字;不允许其他输入。并非所有数字占位符都需要填写,例如它可以是 1.2 或 2.22.1 甚至 1.222.222.0我试过使用模式匹配与正则表达式来验证更改后的文本,但仅此而已;它验证输入,它不会使小数字段成为不可编辑的字段,并且工具提示不是一个选项。我不确定还能尝试什么。我正在尝试找到一种方法,以便即使在用户键入时,他们也可以看到预期的输入是什么,例如 1##.###.###.###。当他们输入数字时,他们不会输入小数点,因为它在文本字段中是“固定的”,或者至少看起来是。如果接收到连续的数字输入,则输入的数字在遇到小数点时会跳过小数点并自动转到下一个字段。例如用户输入 ="1234" 输出 ="123.4##.###.###"另一个建议是在收到小数点时自动推进光标,例如用户输入 = "1.23.4" 输出 = "001.023.004.###"欢迎任何和所有建议,只是为了澄清,“#”是文本字段“提示”的一部分,而不是实际文本的一部分。
1 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
最后,使用带有正则表达式的 UnaryOperator 进行输入控制,使用 StringCoversion 来发布处理文本,如此处所用How to force a double input in a TextField in JavaFX? 以防其他人遇到这个问题。
添加回答
举报
0/150
提交
取消