Gluon TextField 输入掩码

Gluon TextField Input Mask

如何在 Gluon TextField 上放置一些输入掩码,例如“999.999.999-99”。我可以构建一个继承自 JavaFX TextField 的新组件,但我宁愿使用 Gluon TextField,因为它最适合移动设备。 我尝试使用 StringConverter 但它没有用。

谢谢!

当前的 Gluon Mobile TextFiled 控件支持浮动文本、最大长度计数和其他功能,但不允许 TextFormatter 直接 .

如果您使用 ScenicView 查看一下,Gluon 控件是基于 JavaFX TextField 控件构建的。

虽然文本格式化程序被添加到控件,但使用 lookup,您可以访问内部 JavaFX TextField 并应用它。

如果您使用的 View 使用 FXML(Glisten-Afterburner 模板)创建,其中包含 Gluon Mobile TextField,您可以直接获取 JavaFX:

@FXML
private TextField gluonTextField;

public void initialize() {
    gluonTextField.setFloatText("Insert phone number");

    primary.setOnShown(e -> {
        javafx.scene.control.TextField javafxTextField = (javafx.scene.control.TextField) primary.lookup(".text-input");
        if (javafxTextField != null) {
            javafxTextField.setTextFormatter(new TextFormatter<>(...));
        }
    }
}

请参阅此 以了解 phone 数字的 TextFormatter 的可能实施。