0

我是新的 un javafx,我对 textField 有一点问题。

有了这个字段,我只得到一个带有 getText 方法的字符串。

我没有找到如何创建 numberField 来获取整数而不是字符串。

是否存在这样的字段或者我必须自己创建它?

在这种情况下如何做到这一点?

谢谢

4

2 回答 2

0

JavaFX中存在IntegerField,但它是一个内部类(例如,它用于颜色选择器的整数输入)。它是包私有的,不能从外部使用。

但是,您可以查看它的代码,并自己实现它。JavaFX 是部分开源的。您可以下载源代码并查看此内容。

com.sun.javafx.scene.control.skin.IntegerField

控件的代码非常简单,并且皮肤类具有公共访问权限。所以,它会给你带来很大的麻烦。

顺便说一句,您可以在 jfx jira 中提交有关其发布的功能(或请求)。在这种情况下,它可能会在稍后的某个时间公开。

于 2013-03-09T13:51:51.703 回答
0

Java 8u40 引入了 TextFormatter。现在你可以这样做:

TextField numberField = new TextField();
numberField.setAlignment(Pos.CENTER_RIGHT);
numberField.setTextFormatter(new TextFormatter<>(new NumberStringConverter()));
于 2015-07-07T05:57:11.003 回答