首页 > 解决方案 > 如何将 javaFX Menubutton 文本设置为选定的 menuItem 文本

问题描述

这是我尝试过的。

FMXL

<MenuButton fx:id="start_hour" layoutX="146.0" layoutY="267.0" mnemonicParsing="false" onAction="#set_start_min" text="Start Hour" />

在我的控制器中初始化我的菜单项。我这样做是因为我有几个可以使用循环轻松设置的按钮。

  public void initialize() {

        ObservableList<MenuItem> start_hourItems = start_hour.getItems();

        for (int i = 1; i < 13 ; i++) {
            MenuItem mi = new MenuItem(Integer.toString(i));
            start_hourItems.add(mi);

        }

    }

处理事件(我意识到这是错误的并且不起作用,但想包含它以显示我的尝试。)

public void set_start_min(ActionEvent actionEvent) {

// create action event
EventHandler<ActionEvent> event1 = new EventHandler<ActionEvent>() {
    public void handle(ActionEvent e)
    {
        start_min.setText(((MenuItem)e.getSource()).getText());
    }
};

// add action events to the menuitems
start_min.setOnAction((EventHandler<ActionEvent>) actionEvent);


}

最后这里是它无法正常工作的图像。如果它工作正常,主菜单按钮文本会随着选择而改变。 在此处输入图像描述

标签: javadrop-down-menujavafx-8

解决方案


推荐阅读