コントロールのvisibleProperty()
がアプリケーションのどこかにBooleanProperty
にバインドされているとします。JavaFX - データバインディング - 追加BooleanBinding
私が達成したかったのは、視認性が保証されているかどうかを確認するために、コードの一部分に追加のバインディングを追加することでした。既存または今後のバインディングに関係なく常に偽です。ただし、falseを返すバインディングがある場合は、visiblityをtrueに設定することはできません。だから私はブール論理の一種を実装する必要があります。
最初の試みは、OR/AND連鎖を使用することでした。
tableColumn.visibleProperty().and(Bindings.createBooleanBinding(() -> false));
しかし、次の例のように、これはうまくいかない可能性があります。
public static void main(String[] args) {
BooleanProperty a = new SimpleBooleanProperty(false);
BooleanProperty b = new SimpleBooleanProperty(true);
a.bind(b);
System.out.println(a.get());
a.and(Bindings.createBooleanBinding(() -> false));
System.out.println(a.getValue());
}
多分あなたの誰かがより創造的なアイデアを持っています。
Thxを、あなたは、単にvisibleProperty
に結合additinalを追加することができます。この場合、
質問は本当に意味をなさない。 'a.bind(b)'は 'a'が常に' b'と同じ値を持つことを意味します。'bind'が意味するものを変更するコードを実行しようとしているように聞こえます。単にそれを行う方法はありません。 'a'の値をより複雑な式に依存させたい場合は、もっと複雑な式にバインドするだけです。 'a.bind(b.and(Bindings.createBooleanBinding(() - > false)))); ' –