io.github.dinamo541.corefx.navigation

Navigation & FlowNavegación y flujo

The classes that move users through your app and carry shared state between screens. They are complementary and commonly used together: FlowController loads views and swaps scenes, Controller is the base class it wires your screens through, StageManager owns the windows, and AppContext holds the cross-cutting data they need. Las clases que mueven a los usuarios por tu app y transportan estado compartido entre pantallas. Son complementarias y se usan habitualmente juntas: FlowController carga vistas y cambia escenas, Controller es la clase base a través de la cual conecta tus pantallas, StageManager administra las ventanas y AppContext guarda los datos transversales que necesitan.

ClassesClases

FlowController
The heart of the library. Loads & caches FXML views, swaps scenes, opens windows and modals (blocking & non-blocking), drives BorderPane regions, and carries i18n + a typed transfer value.El corazón de la librería. Carga y cachea vistas FXML, cambia escenas, abre ventanas y modales (bloqueantes y no bloqueantes), gobierna regiones de BorderPane y transporta i18n + un valor de transferencia tipado.
Read the docs →Leer la documentación →
Controller
Optional base class for FXML controllers. FlowController injects the current Stage and view name, and re-runs initialize() every time a cached view is shown again.Clase base opcional para controladores FXML. FlowController inyecta el Stage actual y el nombre de la vista, y vuelve a ejecutar initialize() cada vez que una vista cacheada se muestra de nuevo.
Read the docs →Leer la documentación →
AppContext
Thread-safe, process-wide key-value store for shared application state. Backed by a ConcurrentHashMap; keys must be non-blank, values non-null.Almacén clave-valor thread-safe y a nivel de proceso para el estado compartido de la aplicación. Respaldado por un ConcurrentHashMap; las claves no pueden estar en blanco y los valores no pueden ser null.
Read the docs →Leer la documentación →
StageManager
A named registry plus a safe, thread-marshalled API for window lifecycle, state, geometry, icons and undecorated-window dragging.Un registro con nombre más una API segura y ordenada por hilos para el ciclo de vida de ventanas, estado, geometría, iconos y arrastre de ventanas sin decoración.
Read the docs →Leer la documentación →
💡
How they fit togetherCómo encajan entre sí

A typical flow: FlowController.goViewMain("Login") shows the first screen; after login you stash the user with AppContext.put("user", u); later you open a tool window and register it with StageManager.register("report", stage) so any controller can bring it to front.Un flujo típico: FlowController.goViewMain("Login") muestra la primera pantalla; tras el login guardas el usuario con AppContext.put("user", u); más tarde abres una ventana de herramienta y la registras con StageManager.register("report", stage) para que cualquier controlador pueda traerla al frente.