Вот что я пробовал.
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);
}
Последнее изображение здесь не работает правильно.Если бы он работал правильно, текст кнопки главного меню изменился бы с выбором.