This is an old question, but it is answered abstractly. "What is a node?" and "in order to understand what a node is, you must first understand what a scene graph is." A node is a top-level abstract class from which almost everything that is graphically displayed in a graphical interface comes from. His superclass is an Object. In the image presented by Ojonugwa Ochalifu, there is one scene that contains one scene that contains several nodes that contain other nodes. The image displayed in the graphical interface raises the question "How is this created?".
For a general understanding, here are the JavaDocs for Stage, Scene, and EventTarget.
At the javafx doc stage https://docs.oracle.com/javase/8/javafx/api/javafx/stage/Stage.html
and scene https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Scene.html
Both Stage and Scene inherit the same interface, EventTarget, as well as Pane, Control, and a long list of classes. https://docs.oracle.com/javase/8/javafx/api/javafx/event/EventTarget.html
I also recommend looking at the source code for the classes you use. This will help to better understand the behavior of classes inherited from the node. For example, the JavaFX documentation mentions that an error may exist when displaying an image. To prevent this error from occurring in the user interface, thorough testing is required. Another understanding, such as how to access a graph using multi-threaded methods, requires an understanding of how and what the class uses.
The scene graph is contained in the workspace and consists of any subclass of the node. Some nodes, such as panels, may have children. The baby is still a knot. Child elements are contained in a structure that may contain other nodes, which may also have child elements. Thus, the graph is very similar to a multidimensional array or non-binary tree. It is also important to understand that: The scene graph is an Omnidirectional Graph, meaning that the child can access his parent; a child can have only one parent; but can have an unlimited number of children. The getParent () method provides access to the parent node.
Image of the scene graph
Note that essentially the graph structure is a multidimensional array. Or, in other words, an array that can contain either other arrays of elements that inherit from Node, or Nodes, such as ImageViews, Buttons, etc. Arrays like Nodes are Panes, Canvas, etc ... which may contain other nodes.
This is important to understand when it comes to test automation and to reliably ensure that the user interface displays what should be displayed.
A good book to get started with JavaFX is βLearn JavaFX 8β by Kishori Sharan. https://www.amazon.com/Learn-JavaFX-Building-Experience-Interfaces/dp/148421143X/ref=asc_df_148421143X/?tag=bingshoppinga-20&linkCode=df0&hvadid= {creative} & hvpos = {adposition = & hvnet = hvnet random} & hvpone = & hvptwo = & hvqmt = e & hvdev = c & hvdvcmdl = {devicemodel} & hvlocint = & hvlocphy = & hvtargid = PLA-4584413736126928 & PSC = 1