gpt4 book ai didi

javafx - 单击菜单项时如何执行操作?

转载 作者:行者123 更新时间:2023-12-04 12:26:28 25 4
gpt4 key购买 nike

我正在使用 Netbeans IDE 在 javafx 中做一个项目。我是 javafx 的新手。我的项目中有一个菜单栏。单击每个菜单项(不是新场景)时,我需要在同一窗口上打开一个新页面。代码如下:

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;
}

在我的项目中,我在单击按钮时打开新页面。它的代码是:

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

是否可以在菜单项的情况下实现此代码?我应该如何编辑此代码以在单击菜单项时执行操作?

最佳答案

我不明白你所说的新页面到底是什么意思。有一个 Pagination control ,但我不认为你是这个意思。以下是添加 TextArea 的方法,但您必须设计 UI 并选择您自己的控件。

add1.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent t) {
vbox.getChildren().add(new TextArea());
}
});

这是如何制作一个新窗口,但你可能想问一个关于设计对话框的问题。这是一个 SO 答案 https://stackoverflow.com/a/14168238/2855515

add1.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent t) {
Stage stage = new Stage();
Scene scene = new Scene(new VBox());
stage.setTitle("popup");
stage.setScene(scene);
stage.show();
}
});

关于javafx - 单击菜单项时如何执行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22045503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com