javafx菜单项名称

2eafrhcq  于 2021-06-26  发布在  Java
关注(0)|答案(2)|浏览(356)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

22小时前关门了。
改进这个问题
我在网上找了一下,但找不到。当有人单击菜单项时,我如何获得它的名称。我想根据单击的菜单项更改场景,但我不想创建8种不同的方法。如果我能得到点击菜单项的名称,我可以创建一个方法,将该名称作为参数,启动fxml加载程序并更改场景

bgtovc5b

bgtovc5b1#

将内联侦听器注册到初始化方法中的menuitem onaction事件。

for (MenuItem item : menu.items()) {
item.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {
        processCategory(item.getText()); // this would do your thing you want to do.
        event.consume();
    });

}
ih99xse1

ih99xse12#

正如这里提到的:https://www.programcreek.com/java-api-examples/?class=javafx.scene.input.mouseevent&method=getsource
你可以这样做:

private void handleLabel(MouseEvent event) { 
    Node label = (Node) event.getSource();
    System.out.println("Mouse click on label: " + label.getId());
}

相关问题