L'associazione dei dati in javafx è possibile solo durante la dichiarazione delle variabili?
-
20-08-2019 - |
Domanda
Guardando i tutorial e gli esempi javafx, le associazioni vengono sempre fatte durante le dichiarazioni varibale:
def y = bind x;
o
def address = Address {
street: bind myStreet;
};
Ma cosa devo fare se ho un oggetto esistente - e quindi non lo dichiaro - e voglio legarne uno. Nel mio caso carico un SVGPath con FXDLoader e quindi voglio associare SVGPath.visible a una variabile. Come posso raggiungere questo obiettivo?
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
Soluzione
È possibile utilizzare un trigger di sostituzione, ad esempio
var fxdContent = FXDLoader.load("{__DIR__}plan.fxz");
var sc = fxdContent.lookup("SC0013") as SVGPath;
var data = true on replace {
sc.visible = data;
}
Potresti anche essere in grado di fare:
def data = bind sc.visible with inverse;
Questo ti darebbe aggiornamenti bidirezionali tra le due variabili. Secondo la specifica della lingua , non puoi usa " bind " altrove.
Altri suggerimenti
Sì, puoi associare una variabile solo quando la stai dichiarando.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow