2013-08-20 17 views

risposta

9

È possibile cercare qualsiasi nodo in base al relativo ID dall'oggetto Scene.

Ad esempio:

Scene scene = source.getScene(); 
Node nodeToFind = scene.lookup("#nodeToFindId"); 

L'ID è un selettore CSS (id), o un ID FX. Deve essere impostato sul nodo senza il carattere '#'. Quando si richiama il metodo 'lookup', il carattere '#' deve precedere l'ID, come sopra.

+0

Hm .. Sto diventando java.lang.NullPointerException. Forse il problema è che sto iniziando il mio grafico in questo modo: gantChartStage = new RmsGantChart(); gantChartStage.initModality (Modality.NONE); RmsGantChart estende Stage gantChartStage.showAndWait(); – kingkong

+0

Il nodo di origine viene visualizzato in una scena quando si tenta di cercare "nodeToFindID"? – Aaron

0

So bene che si voleva evitare che, ma ancora non è così male e fa il lavoro:

Node node = youNode; 
while (node != null){ 
    node = node.getParent(); 
} 
Node parentNode = node; 

caso contrario, se si ha accesso all'oggetto scena:

Node parentNode = scene.getRoot(); 
+0

if (node.getId(). Equals (myd) restituisce il nodo while loop, quindi ok. – pdem