Initial project
This commit is contained in:
51
src/main/java/com/imyeyu/fx/BindingUtils.java
Normal file
51
src/main/java/com/imyeyu/fx/BindingUtils.java
Normal file
@ -0,0 +1,51 @@
|
||||
package com.imyeyu.fx;
|
||||
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.binding.BooleanBinding;
|
||||
import javafx.beans.binding.StringBinding;
|
||||
import javafx.beans.property.DoubleProperty;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import com.imyeyu.utils.Calc;
|
||||
import javafx.scene.control.SplitPane;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author 夜雨
|
||||
* @version 2024-04-13 13:46
|
||||
*/
|
||||
public final class BindingUtils {
|
||||
|
||||
/**
|
||||
* 多个布尔值绑定属性与运算
|
||||
*
|
||||
* @param values 布尔值绑定
|
||||
* @return 与运算绑定
|
||||
*/
|
||||
@SafeVarargs
|
||||
public static BooleanBinding and(ObservableValue<Boolean>...values) {
|
||||
return Bindings.createBooleanBinding(()-> Arrays.stream(values).allMatch(ObservableValue::getValue), values);
|
||||
}
|
||||
|
||||
/**
|
||||
* 多个布尔值绑定属性或运算
|
||||
*
|
||||
* @param values 布尔值绑定
|
||||
* @return 或运算绑定
|
||||
*/
|
||||
@SafeVarargs
|
||||
public static BooleanBinding or(ObservableValue<Boolean>...values) {
|
||||
return Bindings.createBooleanBinding(()-> Arrays.stream(values).anyMatch(ObservableValue::getValue), values);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 双精度转整型字符串绑定属性
|
||||
*
|
||||
* @param property 双精度浮点型属性
|
||||
* @return 字符串绑定属性
|
||||
*/
|
||||
public static StringBinding integerStringBinding(DoubleProperty property) {
|
||||
return Bindings.createStringBinding(() -> String.valueOf(Calc.round(property.get())), property);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user