2013-08-20 7 views
6

क्या विधि के माध्यम से पैरेंट नोड (पदानुक्रम में उच्च) खोजने का कोई तरीका है? तत्व आईडी या कक्षा का उपयोग किया जा सकता है।जावाएफएक्स विशिष्ट आईडी के साथ स्रोत पैरेंट नोड ढूँढना?

इस तरह के किसी भी विकल्प के लिए कोई विकल्प?

source.getParent().getParent().getParent().getParent().getParent().getParent(); 

उत्तर

9

आप दृश्य वस्तु से अपनी आईडी द्वारा किसी भी नोड को देख सकते हैं।

उदाहरण के लिए:

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

आईडी एक सीएसएस चयनकर्ता (आईडी), या एक विदेशी मुद्रा आईडी है। इसे '#' चरित्र के बिना नोड पर स्थापित किया जाना है। विधि 'लुकअप' का आह्वान करते समय, '#' चरित्र को उपरोक्त की तरह आईडी से पहले होना चाहिए। आप दृश्य वस्तु की पहुंच है अगर नहीं तो

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

:

+0

हम्म .. मुझे java.lang.NullPointerException मिल रहा है। शायद समस्या यह है कि मैं अपना चार्ट इस तरह शुरू कर रहा हूं: gantChartStage = new RmsGantChart(); gantChartStage.initModality (Modality.NONE); RmsGantChart चरण gantChartStage.showAndWait(); – kingkong

+0

जब आप "nodeToFindID" को देखने का प्रयास करते हैं तो स्रोत नोड दृश्य में प्रदर्शित होता है? – Aaron

0

खैर मैं आपको लगता है कि से बचना चाहते थे लेकिन फिर भी यह है कि बुरा नहीं है और काम करता है पता

Node parentNode = scene.getRoot(); 
+0

अगर (node.getId() बराबर (myd) लूप के दौरान नोड लौटाता है, और फिर ठीक है। – pdem

संबंधित मुद्दे