数据是在JavaFX的变量声明中唯一可能的结合?
-
20-08-2019 - |
题
综观JavaFX的教程和样品,绑定总是期间varibale声明制备:
def y = bind x;
或
def address = Address {
street: bind myStreet;
};
不过,我该怎么办,如果我有一个exisiting对象 - 因此不声明它 - 需要绑定的属性之一。在我来说,我加载与FXDLoader一个SVGPath然后想SVGPath.visible绑定到一个变量。我怎样才能做到这一点?
var data = true;
var fxdContent = FXDLoader.load("{__DIR__}plan.fxz");
var sc = fxdContent.lookup("SC0013") as SVGPath;
sc.visible = bind data; //That doesn't work
解决方案
可以使用替代触发代替e.g。
var fxdContent = FXDLoader.load("{__DIR__}plan.fxz");
var sc = fxdContent.lookup("SC0013") as SVGPath;
var data = true on replace {
sc.visible = data;
}
您可能还可以做到:
def data = bind sc.visible with inverse;
这会给你两个变量之间的双向更新。按照语言规范,你不能使用 “绑定” 其他地方。
其他提示
是,可以绑定仅当正在声明它的变量。
不隶属于 StackOverflow