java - 不同属性的双向绑定(bind)

标签 java binding properties javafx-2 bidirectional

我只是尝试绑定(bind)一个 Integer 和一个 String 属性。经过一些谷歌搜索后,这应该可以通过提供的两种方法之一实现:

  1. public static void bindBidirectional(Property stringProperty,
    属性otherProperty,StringConverter转换器)

  2. public static void bindBidirectional(Property stringProperty,
    属性otherProperty,java.text.Format格式)

不幸的是,这似乎对我不起作用。我做错了什么?

import java.text.Format;

import javafx.beans.binding.Bindings;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.util.converter.IntegerStringConverter;

public class BiderectionalBinding {

    public static void main(String[] args) {
        SimpleIntegerProperty intProp = new SimpleIntegerProperty();
        SimpleStringProperty textProp = new SimpleStringProperty();

        Bindings.bindBidirectional(textProp, intProp, new IntegerStringConverter());

        intProp.set(2);
        System.out.println(textProp);

        textProp.set("8");
        System.out.println(intProp);    
    }
}

最佳答案

简单的类型混淆问题

Bindings.bindBidirectional(textProp, intProp, new IntegerStringConverter());

应该是:

Bindings.bindBidirectional(textProp, intProp, new NumberStringConverter());

关于java - 不同属性的双向绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14138082/

相关文章:

c++ - 将 "policy"附加到函数参数

matlab - 将 containers.Map 作为类属性时奇怪的 MATLAB 行为

java - Spring MVC - 在 Controller 上设置初始化属性

java - 确定程序与哪个 Java 版本(或 Eclipse 版本)兼容

java - 无论如何要创建一个没有预身份验证的 Oracle 数据库连接池吗?

可选泛型类型的 Swift 扩展

.net - 为非常量类型的属性设置默认值?

java - spring 和跨上下文 : WebAsyncManager cannot be cast to WebAsyncManager

Java,如何获得Chronometer

asp.net-mvc - ASP.NET MVC 元素名称中的 2 个点替换为下划线