Class ViewLoader
java.lang.Object
it.unisa.diem.wordageddon_g16.utility.ViewLoader
Utility per il caricamento dinamico delle viste FXML nell'applicazione.
Gestisce l'associazione tra controller e viste, permette di impostare lo Stage
principale,
e fornisce metodi statici per cambiare scena visualizzata. Utilizza FXMLLoader
per caricare le viste
e una Callback
per creare i controller corretti.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Enumerazione delle viste disponibili nell'applicazione. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static Object
private static ViewLoader.View
private static javafx.stage.Stage
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Object
static ViewLoader.View
static void
load
(ViewLoader.View view) Carica la vista FXML indicata e la imposta come radice della scena corrente.static void
setControllerFactory
(javafx.util.Callback<Class<?>, Object> factory) Imposta la factory per la creazione dei controller.static void
setStage
(javafx.stage.Stage stage) Imposta loStage
principale dell'applicazione su cui verranno caricate le viste.
-
Field Details
-
controllerFactory
-
stage
private static javafx.stage.Stage stage -
currentView
-
currentController
-
-
Constructor Details
-
ViewLoader
public ViewLoader()
-
-
Method Details
-
getCurrentView
-
getCurrentController
-
setControllerFactory
Imposta la factory per la creazione dei controller.Utilizzata in
WordageddonApp
per istanziare correttamente i controller associati alle viste.- Parameters:
factory
- callback responsabile della creazione dei controller
-
setStage
public static void setStage(javafx.stage.Stage stage) Imposta loStage
principale dell'applicazione su cui verranno caricate le viste.- Parameters:
stage
- stage da utilizzare per il rendering delle scene
-
load
Carica la vista FXML indicata e la imposta come radice della scena corrente.Utilizza il
FXMLLoader
con la factory dei controller e aggiorna la scena delloStage
con il contenuto corrispondente alla vista richiesta.Invoca il metodo
close()
del controller corrente, se esiste, per permettere una corretta pulizia delle risorse prima di caricare la nuova vista.- Parameters:
view
- vista da caricare (uno dei valori diViewLoader.View
)- Throws:
IllegalStateException
- sestage
ocontrollerFactory
non sono inizializzatiRuntimeException
- se il file FXML non può essere caricato correttamente
-