如何使用JavaFXML单击设置按钮打开上下文菜单。动作应该是控制器中的某个方法

如何使用JavaFXML单击设置按钮打开上下文菜单。动作应该是控制器中的某个方法,java,javafx,contextmenu,fxml,Java,Javafx,Contextmenu,Fxml,我们如何使用JavaFXML在单击齿轮按钮时打开上下文菜单 下面是我的fxml代码。但它并没有打开一个窗格 下面是我定义阶段的代码 if (response.getStatusLine().getStatusCode() == 200 ) { logger.info("Displaying Home Page"); Stage stage = new Stage(); Parent root = FXMLLoader.load(getClass().getResour

我们如何使用JavaFXML在单击齿轮按钮时打开上下文菜单

下面是我的fxml代码。但它并没有打开一个窗格


下面是我定义阶段的代码

if (response.getStatusLine().getStatusCode() == 200 )
{
    logger.info("Displaying Home Page");
    Stage stage = new Stage();
    Parent root = FXMLLoader.load(getClass().getResource("trayScreen.fxml"));
    root.setId("rootnode");
    stage.setScene(new Scene(root, 350, 425));
    stage.initStyle(StageStyle.TRANSPARENT);
    stage.getScene().getStylesheets().
       setAll(TrayScreen.class.getResource("main.css").toString());
    stage.show();
}

我建议使用
MenuButton
而不是普通的按钮&
ContextMenu
。这样,使用主鼠标按钮单击即可打开关联菜单,而不仅仅是单击次鼠标按钮


要注册操作处理程序,需要设置您的
MenuItem
我建议使用
菜单按钮
而不是普通的按钮&
上下文菜单
。这样,上下文菜单只需单击主鼠标按钮即可打开,而不仅仅是单击次鼠标按钮

要注册操作处理程序,您需要设置
MenuItem
onAction
属性(
为什么不在
按钮内使用而不是使用
ContextMenu

<MenuButton fx:id="menu_button" mnemonicParsing="false" text="MenuButton">
        <items>
          <MenuItem mnemonicParsing="false" onAction="#firstItemAction" text="Action 1" />
          <MenuItem mnemonicParsing="false" onAction="#secondItemAction" text="Action 2" />
        </items>
</MenuButton>

为什么不在
按钮中使用而不是使用
上下文菜单

<MenuButton fx:id="menu_button" mnemonicParsing="false" text="MenuButton">
        <items>
          <MenuItem mnemonicParsing="false" onAction="#firstItemAction" text="Action 1" />
          <MenuItem mnemonicParsing="false" onAction="#secondItemAction" text="Action 2" />
        </items>
</MenuButton>