dados é obrigatório em javafx só é possível durante a declaração da variável?

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

  •  20-08-2019
  •  | 
  •  

Pergunta

Olhando para os tutoriais do JavaFX e amostras, as ligações são sempre feitas durante declarações varibale:

def y = bind x;

ou

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

Mas o que eu faço, se eu tiver um objeto exisiting - e, portanto, não declará-la - e deseja vincular um de seus atributos. No meu caso eu carregar um SVGPath com o FXDLoader e depois deseja vincular SVGPath.visible a uma variável. Como posso conseguir isso?

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
Foi útil?

Solução

Você pode usar um substituir gatilho ao invés por exemplo.

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

Você também pode ser capaz de fazer:

def data = bind sc.visible with inverse;

Isto lhe daria atualizações bidirecionais entre as duas variáveis. De acordo com a linguagem de especificação , você não pode uso "bind" em qualquer outro lugar.

Outras dicas

Sim, você pode vincular uma variável apenas quando você está declarando-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top