¿El enlace de datos en javafx solo es posible durante la declaración de variable?

StackOverflow https://stackoverflow.com/questions/1047785

  •  20-08-2019
  •  | 
  •  

Pregunta

Mirando los tutoriales y muestras de JavaFX, los enlaces siempre se realizan durante las declaraciones varibale:

def y = bind x;

o

def address = Address {
  street: bind myStreet;
};

Pero, ¿qué hago si tengo un objeto existente, y por lo tanto no lo declaro, y quiero vincular uno de sus atributos? En mi caso, cargo SVGPath con FXDLoader y luego quiero vincular SVGPath.visible a una variable. ¿Cómo puedo lograr esto?

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
¿Fue útil?

Solución

Puede usar un activador de reemplazo en su lugar, por ejemplo,

var fxdContent = FXDLoader.load("{__DIR__}plan.fxz");
var sc = fxdContent.lookup("SC0013") as SVGPath;
var data = true on replace {
    sc.visible = data;
}

También puede hacer:

def data = bind sc.visible with inverse;

Esto le daría actualizaciones bidireccionales entre las dos variables. De acuerdo con la especificación del idioma , no puede use " bind " en cualquier otro lugar.

Otros consejos

Sí, puede vincular una variable solo cuando la declara.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top