Application de connexion avec 1 étage et plusieurs scène en JavaFX

Je suis en train de faire un montage de projet. J'ai réussi à créer un système de connexion et des menus pour tout, mais quand j'appuie sur les boutons que j'ai fait il va ouvrir une nouvelle fenêtre(avec la scène, scènes). J'ai lu que ce n'est pas la meilleure approche. Le meilleur moyen serait d'avoir seulement 1 étape primaire, et que l'on serait lorsque je lance l'application, la connexion.

Mais j'ai cherché de l'information sur plusieurs scènes avec une étape mais je n'ai pas trouvé les bonnes solutions. Serait vraiment vraiment apprécier un peu d'aide 😉 j'espère que vous comprenez ce que je veux atteindre. La peine de mentionner, je=je fais face à Scenebuilder et fxml fichiers donc j'ai tout ce que je veux pour l'essentiel à faire est de charger un nouveau .fxml scène sur la scène principale.

Donc, j'ai regardé dans un autre thread, et essayer de faire un VistaFramework qui gère tous les changements de scène.
Mais je ne comprends pas complètement, et je ne peux pas le faire fonctionner.

package application;

import javafx.fxml.FXMLLoader;

import java.io.IOException;

import controllers.MainController;

/**
 * Utility class for controlling navigation between vistas.
 *
 * All methods on the navigator are static to facilitate
 * simple access from anywhere in the application.
 */
public class VistaNavigator {

    /**
     * Convenience constants for fxml layouts managed by the navigator.
     */
    public static final String MAIN    = "LoginGUI.fxml";
    public static final String NEW_USER = "NewUserGUI.fxml";
    public static final String STARTMENU = "StartMenuGUI.fxml";

    /** The main application layout controller. */
    private static MainController mainController;

    /**
     * Stores the main controller for later use in navigation tasks.
     *
     * @param mainController the main application layout controller.
     */
    public static void setMainController(MainController mainController) {
        VistaNavigator.mainController = mainController;
    }

    /**
     * Loads the vista specified by the fxml file into the
     * vistaHolder pane of the main application layout.
     *
     * Previously loaded vista for the same fxml file are not cached.
     * The fxml is loaded anew and a new vista node hierarchy generated
     * every time this method is invoked.
     * @param fxml the fxml file to be loaded.
     */

    public static void loadVista(String fxml) {
        try {
            mainController.setVista(
                FXMLLoader.load(
                    VistaNavigator.class.getResource(
                        fxml
                    )
                )
            );
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

Je reçois une erreur dans loadVista(). Obtenez l'erreur suivante lors de mainController.setVista( "La méthode setVista(Nœud) du type MainController n'est pas applicable pour les arguments (Objet)"

OriginalL'auteur jabbeboy | 2014-05-13