Partage
  • Partager sur Facebook
  • Partager sur Twitter

changer d'ecran par clic sur un noeud d'un arbre

javafx-FXML

    16 août 2017 à 23:29:19

    Bonjour,

    Je suis débutant en JAVAFX.
    Comment puis je faire pour changer de scene ou lancer un nouvel ecran
    Voici le contrôleur où est instanciée l'arbre

    public void initialize(URL location, ResourceBundle resources)
        {
            loadItems();
        }
     
          @SuppressWarnings("unchecked")
        public void loadItems()
        {
              TreeItem<String>root=new TreeItem<>("Root");
     
              TreeItem<String> clients=new TreeItem<>("Clients");
              TreeItem<String> addClient=new TreeItem<>("Add Client");
              TreeItem<String> seeClient=new TreeItem<>("See clients");
     
              TreeItem<String> articles=new TreeItem<>("Articles");
              TreeItem<String> devis=new TreeItem<>("Devis");
              root.getChildren().addAll(clients,articles,devis);
              clients.getChildren().addAll(addClient,seeClient);
              root.setExpanded(true);
              treeview.setRoot(root);
              treeview.setShowRoot(false);
        }

    Le controleur est appelé par le main MainApp.java où sont chargées les fichiers FXML

    @Override
        public void start(Stage primaryStage) {
            this.primaryStage=primaryStage;
     
            mainMenuView();
     
            }   
     
        public void mainMenuView()
            {
                try
                {
                    FXMLLoader loader=new FXMLLoader();
                    loader.setLocation(MainApp.class.getResource("view/menuView.fxml"));
                    AnchorPane menuView=(AnchorPane)loader.load();
                    rootView.setCenter(menuView);
                    MenuViewController controller = loader.getController();
                    controller.setMainApp(this);
                    TreeLoadingEventHandler Tree=new TreeLoadingEventHandler(controller);
                    Tree.handle(null);
     
                }
                catch(Exception e)
                {
                    e.printStackTrace();
                }
            }
     
             private class TreeLoadingEventHandler implements EventHandler<ActionEvent> {
                    private MenuViewController controller;
     
                    TreeLoadingEventHandler(MenuViewController controller) {
                      this.controller = controller;
                    }    
                    @Override
                    public void handle(ActionEvent t) {
                      controller.loadItems();
                    }
                  }

    Comment faire pour changer de FXML en cliquant sur un noeud de l'arbre ? Par exemple si je clique sur "Add Client" de l'arbre , je souhaiterai qu'un nouveau fichier FXML "AddClient.fxml" soit chargé au niveau de MainApp.java


    Merci d'avance de votre aide


    • Partager sur Facebook
    • Partager sur Twitter

    changer d'ecran par clic sur un noeud d'un arbre

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown