我试图创建一个计算器jfx应用程序,并且试图将用户键盘输入限制为仅十进制数和一些其他表达式,如下所示:
+, -, *, /, (, ), sin, cos, tan, sqrt
我发现this solution使用setTextFormatter
类的DecimalFormatter
属性只能输入十进制数字。当然,这里的问题是输入将被限制为数字。
然后我在this other solution中发现了在方法String.matches(regex)
中给定条件的情况下如何使用侦听器来限制输入,但是这个问题是解决方案我可以使用 3a ...另一个受限制的字符。
我的问题是我是否可以制作自己的字符串综合型REGEX或设置仅接受特定表达式的TextFormatter(也许是一个自创建的TextFormatter类)?