我正在使用 Griffon 1.2.0 和 JavaFX,我想将一个文本字段绑定到一个数字。我想我可以简单地通过将模型属性定义为浮点数来做到这一点,但它似乎并不喜欢那样,即使我定义了一个转换器。我查看了 Validator 插件,但它似乎只适用于 Swing(不是 JavaFX)——这很遗憾,因为这个演示文稿让它看起来非常好:http ://www.slideshare.net/ecspike/introduction-to-griffon (第 67 页显示了我想要的那种功能)。
与此同时,我刚刚在我的视图的 noparent 块中添加了一个属性更改侦听器,如此处所建议的在 JavaFX 中制作数字 TextField 的推荐方法是什么?:
amount2.textProperty().addListener({ ObservableValue<? extends String> observable, String oldValue, String newValue ->
try {
Integer.parseInt(newValue);
} catch (Exception e) {
observable.setValue(oldValue);
}
} as ChangeListener<String>)
这确保用户只能输入数字,但有更好的选择吗?我在 JavaFX 领域中没有发现任何可以与 Validation 插件功能相媲美的东西——我应该放弃 JavaFX 并回到 Swing 吗?