Comment puis-je obtenir tous les nœuds en une scène dans JavaFX?

En C#, j'ai trouvé une méthode qui était assez doux qui vous a permis d'obtenir tous les descendants et tous LEURS descendants à partir d'un contrôle spécifié.

Je suis à la recherche d'une méthode similaire pour JavaFX.

J'ai vu que le Parent classe est ce que je veux travailler avec, car il est la classe à partir de laquelle tous Nœud classes qui portent les enfants sont dérivés.

C'est ce que j'ai jusqu'à présent (et je n'ai pas vraiment trouvé quelque chose sur google avec des recherches comme "JavaFX obtenir tous les nœuds à partir d'une scène"):

public static ArrayList<Node> GetAllNodes(Parent root){
    ArrayList<Node> Descendents = new ArrayList<>();
    root.getChildrenUnmodifiable().stream().forEach(N -> {
        if (!Descendents.contains(N)) Descendents.add(N);
        if (N.getClass() == Parent.class) Descendents.addAll(
            GetAllNodes((Parent)N)
        );
    });
}

Alors, comment puis-je savoir si N est un parent (ou étendu à partir d'un parent)? Suis-je en train de le faire? Il ne semble pas fonctionner... C'est saisir l'ensemble de nœuds à partir de la racine (parent) nœud, mais pas de les nœuds avec des enfants en eux. J'ai l'impression que c'est quelque chose qui a probablement eu une réponse, mais je ne fais que poser la question... mal. Comment dois-je faire?

Peut-être changer le titre de la scène de parent?

OriginalL'auteur Will | 2014-07-27