Как я могу установить текстовое меню javaFX для выбранного меню - PullRequest
0 голосов
/ 20 сентября 2019

Вот что я пробовал.

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);


}

Последнее изображение здесь не работает правильно.Если бы он работал правильно, текст кнопки главного меню изменился бы с выбором.enter image description here

...