java - TextField 中的 SimpleIntegerProperty

标签 java javafx properties binding

我需要计算几个文本输入字段的总和。相当简单,但我已经在正确的转换和类型转换方面苦苦挣扎了几个小时。

我有许多文本字段,需要将它们的文本属性绑定(bind)到 SimpleIntegerProperties,或者至少我认为,最终计算它们的总和。 这就是我最后遇到的问题:

IntegerProperty value = new SimpleIntegerProperty();
NumberStringConverter converter = new NumberStringConverter();
TextField textField = new TextField();
textField.textProperty().addListener(
    new ChangeListener<String>() {
    @Override
    public void changed(
        ObservableValue<? extends String> observable,
        String oldValue, String newValue) {
        if (!newValue.matches("[1-9]\\d{0,3}")) {
            textField.setText(oldValue);
            }}});
value.bindBidirectional(textField.textProperty(), converter);

我看到了使用转换器作为双向绑定(bind)参数的解决方案,但它给了我一个错误,说它是一个参数太多。 我还尝试了 value.bindbidirective(converter.fromString(textField.textProperty().get())); ,它也不起作用。这次说 Number 无法转换为 Property Number。

这是一个家庭作业问题,但在过去的 3 小时内,学习所提供的 Material 和文档都没有让我走得更远,因此发表了这篇文章。 我们需要使用 textFields、双向绑定(bind)、simpleIntegerProperties 和 NumberStringConverter。

最佳答案

所以显然这个 value.bindBidirective(textField.textProperty(), converter); 不起作用。然而,这确实是:textField.textProperty().bindBi Direction(value, converter);

关于java - TextField 中的 SimpleIntegerProperty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55777797/

相关文章:

java - JavaFX 中的虚线穿过实线

JavaFX:是否可以为整个 TreeView 设置背景颜色?

java - 如何使条形图透明

javascript - Java中Date的JSON序列化及解析

java - "Could not find main class error"在 Windows 上,而不是在 Linux 上

java - 小足迹依赖注入(inject)java

java - 使用 wsdl2java 解析 wsdl 文件会导致错误消息

java - 根据其他属性值在 Maven 中定义属性

java - 指定属性文件的 Java 路径

css - 有没有办法在 LESS 中引用命名空间内的属性?