So I have a JavaFX application that has many different controllers and FXML documents. It uses a "ScreenController" class to control the flow from gui to gui throughout the application. The main gui has several buttons and when one is clicked a method is called in the screen controller that loads an associated FXML doc using the standard FXMLLoader and the controller is loaded by setting the controller factory to get the bean from spring. Then the screen controller fades out the main stage, sets the newly loaded parent to scene, sets the scene to the stage and fades the stage back into view. This all works fine. But I was thinking that I would like to have a task bar, so to speak, on the left hand side of the screen that is always there to allow the user to change the gui to any other gui at any time. It would look similar to this screen shot. Example. I am looking for some basic advice on how to achieve this. I was thinking some sort of grid pane maybe with a slim column on the left and a bigger main column on the right that would house the scene that is loaded by clicking an icon on the left. If I were using a single controller I know this could be achieved by using a stack pane and swapping through the stack when an icon is clicked. But I have controller/fxml document pair for each gui. Is it possible to load this into said grid pane? Or am I approaching this incorrectly?
This is merely an engineering question. I'm not looking for exact code, just advice on if it can be achieved or not.