使用相同的值更新 JavaFX 属性
Updating a JavaFX property with the same value
我想再次赋予 DoubleProperty 相同的值。或者,一个简单的更新会很好。不幸的是,我还没有找到一种可能性,如果这可能的话。
下面的代码示例说明了我的意图:
import javafx.beans.property.DoubleProperty;
import javafx.beans.property.SimpleDoubleProperty;
public class Test {
public static void main(String[] args) {
DoubleProperty p = new SimpleDoubleProperty();
p.addListener((obs_p, old_p, new_p) -> {
System.out.println("Here, the value: " + new_p);
});
p.set(1);
p.set(1);
}
}
或看起来像这样的解决方案:
p.update() ...
总体而言,我希望收到以下输出:
Here, the value: 1.0
Here, the value: 1.0
但是只输出了一行。
有这样的方法吗?
您可以扩展 SimpleDoubleProperty 并覆盖 set(double);
public class CustomDoubleProperty extends SimpleDoubleProperty {
@Override
public void set(double d) {
super.set(d);
System.out.println("set value: " + d);
}
}
我想再次赋予 DoubleProperty 相同的值。或者,一个简单的更新会很好。不幸的是,我还没有找到一种可能性,如果这可能的话。
下面的代码示例说明了我的意图:
import javafx.beans.property.DoubleProperty;
import javafx.beans.property.SimpleDoubleProperty;
public class Test {
public static void main(String[] args) {
DoubleProperty p = new SimpleDoubleProperty();
p.addListener((obs_p, old_p, new_p) -> {
System.out.println("Here, the value: " + new_p);
});
p.set(1);
p.set(1);
}
}
或看起来像这样的解决方案:
p.update() ...
总体而言,我希望收到以下输出:
Here, the value: 1.0
Here, the value: 1.0
但是只输出了一行。 有这样的方法吗?
您可以扩展 SimpleDoubleProperty 并覆盖 set(double);
public class CustomDoubleProperty extends SimpleDoubleProperty {
@Override
public void set(double d) {
super.set(d);
System.out.println("set value: " + d);
}
}