GUI Strategy - G-String-Legacy/GS_MV GitHub Wiki

In javafx there are basically two ways of designing a graphics user interface:

  1. Static, with a Controller, and an fxml resource file, to be loaded programmatically,

  2. Dynamic, by constructing displays programmatically according to the current need from Scene.controls bundled in Groups.

G-String uses a combination. In the 'Start' method of the Application class - an outer frame for the life of the application - is loaded statically. Depending on the major task - Analysis, or Synthesis, two classes - 'AnaGroups', or 'SynthGroups' construct the corresponding group objects for each step in the workflow, and send them back to the Application to be displayed.

The 'Stepup' method in Application keeps track of the progression through the steps. When a certain step requires multiple data packages to be collected, a 'Dawdle' boolean makes sure that a given step is repeated as required.