我有一个用带有菜单栏的场景生成器构建的窗口。 在 menuBar 中有几个只能打开其他窗口的菜单项。
所以我只想编写一个函数,供每个菜单项使用,并打开相应的窗口。
我试着给每个menuItem一个id,并且用这个函数
public void openWindow(ActionEvent event){
System.out.println( event);
}
我可以看到那个 id(例如:customer menuItem),
javafx.event.ActionEvent[source=MenuItem[id=customers, styleClass=[menu-item]]]
但我不知道如何让它使用它来打开客户窗口。
最佳答案
为了从 ActionEvent 中获取 id,你应该将它的源转换为 MenuItem:
public void openWindow(ActionEvent event){
MenuItem source = (MenuItem) event.getSource();
System.out.println(source.getId());
}
请注意,如果您不确定事件源是 MenuItem 类型,您可以这样检查:
if (event.getSource() instanceof MenuItem) {
MenuItem source = (MenuItem) event.getSource();
System.out.println(source.getId());
}
关于JAVA javaFX menuBar,多个项目,一个方法(场景生成器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41755798/