关闭。这个问题需要细节或清晰。它目前不接受答案。**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
22小时前关门了。改进这个问题我在网上找了一下,但找不到。当有人单击菜单项时,我如何获得它的名称。我想根据单击的菜单项更改场景,但我不想创建8种不同的方法。如果我能得到点击菜单项的名称,我可以创建一个方法,将该名称作为参数,启动fxml加载程序并更改场景
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(); }); }
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()); }
2条答案
按热度按时间bgtovc5b1#
将内联侦听器注册到初始化方法中的menuitem onaction事件。
ih99xse12#
正如这里提到的:https://www.programcreek.com/java-api-examples/?class=javafx.scene.input.mouseevent&method=getsource
你可以这样做: