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