将 JavaFX 中的 ColorPicker 绑定到标签背景属性

Mil*_*vic 5 background javafx color-picker

只需:

    ObjectProperty op = label.textFillProperty();
    ColorPicker cp = new ColorPicker(Color.GRAY);   
    ...             
    op.bind(cp.valueProperty());
Run Code Online (Sandbox Code Playgroud)

我怎么做背景 - 由于背景属性的复杂性,甚至不确定它是否可能

Jam*_*s_D 6

首先,不要使用原始类型。您发布的代码应该是

ObjectProperty<Paint> op = label.textFillProperty();
ColorPicker cp = new ColorPicker(Color.GRAY);   
...             
op.bind(cp.valueProperty());
Run Code Online (Sandbox Code Playgroud)

对于背景,您可以使用Bindings.createObjectBinding()

ObjectProperty<Background> background = label.backgroundProperty();
background.bind(Bindings.createObjectBinding(() -> {
    BackgroundFill fill = new BackgroundFill(cp.getValue(), CornerRadii.EMPTY, Insets.EMPTY);
    return new Background(fill);
}, cp.valueProperty());
Run Code Online (Sandbox Code Playgroud)