Files
Telegram-Final-Project/src/main/java/org/to/telegramfinalproject/UI/AppRouter.java
T
2025-08-27 23:22:07 +03:30

38 lines
1.3 KiB
Java

// org.to.telegramfinalproject.UI.AppRouter
package org.to.telegramfinalproject.UI;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public final class AppRouter {
private static Stage stage;
private static Scene scene;
private AppRouter() {}
public static void init(Stage st, Scene sc) {
stage = st;
scene = sc;
}
public static void showIntro() { setRoot("/org/to/telegramfinalproject/Fxml/intro.fxml"); }
public static void showLogin() { setRoot("/org/to/telegramfinalproject/Fxml/login_view.fxml"); }
public static void showRegister(){ setRoot("/org/to/telegramfinalproject/Fxml/register_view.fxml"); }
public static void showMain() { setRoot("/org/to/telegramfinalproject/Fxml/main.fxml"); }
private static void setRoot(String fxmlPath) {
try {
System.out.println("Router: setRoot -> " + fxmlPath);
FXMLLoader fx = new FXMLLoader(AppRouter.class.getResource(fxmlPath));
Parent root = fx.load();
if (scene != null) scene.setRoot(root);
else if (stage != null) stage.setScene(new Scene(root, 1480, 820));
} catch (Exception e) {
e.printStackTrace();
}
}
}