繁体   English   中英

如何转换ObjectProperty <String> JavaFX中的StringProperty?

[英]How to convert ObjectProperty<String> to StringProperty in JavaFX?

有一种方法可以将ObjectProperty<Integer>转换为IntegerProperty 这里是:

https://docs.oracle.com/javase/8/javafx/api/javafx/beans/property/IntegerProperty.html#integerProperty-javafx.beans.property.Property-

为什么没有类似的方法可以将ObjectProperty<String>转换为StringProperty 那怎么转换呢?

在寻找integerProperty的源integerProperty ,它所做的只是一个双向绑定(并在finalize中取消绑定)。

您可以复制integerProperty功能,然后将其修改为使用StringProperty

public static StringProperty makeStringProperty(final Property<String> property) {
    Objects.requireNonNull(property, "Property cannot be null");

    return new StringPropertyBase() {
        {
            bindBidirectional(property);
        }

        @Override
        public Object getBean() {
            return null; // Virtual property, no bean
        }

        @Override
        public String getName() {
            return property.getName();
        }

        @Override
        protected void finalize() throws Throwable {
            try {
                unbindBidirectional(property);
            } finally {
                super.finalize();
            }
        }
    };
}

我在这里做了一些修改,因此它不使用内部包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM