Comment une action peut être exécutée lorsque l'on clique sur un élément de menu?

Je fais un projet en javafx à l'aide de Netbeans IDE. Je suis nouveau sur javafx. J'ai une barre de menu dans mon projet. - Je besoin pour ouvrir une nouvelle page sur le même windows lors d'un clic sur chaque élément de menu(pas de nouvelle scène). Le code est donné ci-dessous :

private VBox addVBox1() {
final VBox vbox = new VBox();
vbox.setPadding(new Insets(20,40,30,4)); 
vbox.setSpacing(10);
MenuBar menuBar = new MenuBar();
Menu menuFile1 = new Menu("ADD");
Menu menuFile2 = new Menu("EDIT");
Menu menuFile3 = new Menu("VIEW");
Menu menuFile4 = new Menu("HELP");
MenuItem add1 = new MenuItem("ENTER STUDENT DETAILS");
MenuItem add2 = new MenuItem("ENTER C-MARK");
MenuItem add3 = new MenuItem("ENTER ATTENDANCE");
MenuItem add4 = new MenuItem("EDIT STUDENT DETAILS");
MenuItem add6 = new MenuItem("EDIT C-MARK");
MenuItem add8 = new MenuItem("EDIT ATTENDANCE");
MenuItem add10 = new MenuItem("STUDENT DETAILS");
MenuItem add11 = new MenuItem("C-MARK");
MenuItem add12 = new MenuItem("ATTENDANCE");
MenuItem add13 = new MenuItem("VIEW HELP"); 
add1.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent t) {
//...WHAT TO INCLUDE HERE ?
}
});
menuFile1.getItems().addAll(add1,add2,add3);
menuFile2.getItems().addAll(add4,add6,add8);
menuFile3.getItems().addAll(add10,add11,add12);
menuFile4.getItems().addAll(add13);
menuBar.getMenus().addAll(menuFile1,menuFile2,menuFile3,menuFile4);
vbox.getChildren().addAll(menuBar);
return vbox;
}

Dans mon projet, j'ai ouvert de nouvelles pages en cliquant sur les boutons. Son code est:

btn2.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
((Stage)btn2.getScene().getWindow()).setScene(new Scene(new Login()));
}
});

Est-il possible de mettre en œuvre ce code dans le cas de l'élément de menu ? Comment dois-je modifier ce code pour effectuer une action lorsque vous cliquez sur un élément de menu ?

  • Vous l'avez fait à droite (si étrange). Essayez d'ajouter le Système de la.out.println("bonjour de add1 dans vbox")' dans le ActionEvent. Vous êtes juste réglage de la vbox visible, qui l'est déjà.
  • Je veux ouvrir une nouvelle page dans la même fenêtre lors d'un clic sur un élément de menu. Je ne sais pas comment le faire. C'est pourquoi je pars une ligne au-dessus setVisible(). Comment puis-je le faire ?
  • Une nouvelle page ou une nouvelle scène? Je pense que tu veux dire une fenêtre pop-up, qui est une nouvelle scène. Vous devez modifier la question, de sorte qu'il dit ce que vous voulez faire.
InformationsquelleAutor TomJ | 2014-02-26