我是新的un javafx,我对textField的问题很小。
使用此字段,我只获得一个带有getText方法的字符串。
我没有找到如何创建一个numberField来获取整数而不是字符串。
是否存在这样的字段或者我必须自己创建吗?
在这种情况下如何做到这一点?
由于
答案 0 :(得分:0)
IntegerField存在于JavaFX中,但它是一个内部类(例如,它用于颜色选择器的整数输入)。它是私有的包,不能从外面使用。
但是,您可以查看其代码,并自行实现。 JavaFX是部分开源的。您可以下载源代码并查看此内容。
com.sun.javafx.scene.control.skin.IntegerField
Control的代码非常简单,skin类具有公共访问权限。所以,这会给你带来很大的麻烦。
顺便说一句,您可以在jfx jira中提交有关其发布的功能(或请求)。在这种情况下,可能会在以后的某个时间公开。
答案 1 :(得分:0)
Java 8u40引入了TextFormatter。现在你可以这样做:
TextField numberField = new TextField();
numberField.setAlignment(Pos.CENTER_RIGHT);
numberField.setTextFormatter(new TextFormatter<>(new NumberStringConverter()));