I've written some complex GUIs in Swing and I've never used a graphical tool. I've always just written the Java code. Now I'm writing my first JavaFX GUI, and it will be a large, complex GUI that gets all data values from the cloud. I've started doing the initial work with SceneBuilder, but I've run into a problem where SceneBuilder expects the .fxml and controller .java file to be in the same directory. It seems that the SceneBuilder developers think that JavaFX projects should have all of their files in one directory as if we are building toy demos instead of industrial strength GUIs.
I've also noticed that there are no architectural guidelines as to what should go into controller classes. If there are patterns and idioms that should guide the design and interaction between the .fxml file(s), the controller class(es), and the rest of the GUI classes I haven't been able to find them. Large, complex GUIs need to follow proven idioms or they'll become unmaintainable. A controller class could become several thousand lines long if all business logic and interaction with the cloud was in the controller class. Yet there seems to be no guidelines for what should be in the controller class and what should not be in the controller class.
I worry about large fxml structures becoming unmaintainable. If each .fxml file is one scene a GUI could be composed from multiple .fxml files, but I haven't found good guidance or examples of how to do this.
I'm tempted to drop SceneBuilder now before I invest much more time into .fxml. Have others been able to write large, complex GUIs that rely on all data coming from and being written to the cloud using SceneBuilder?
Thanks.