JavaFX - 将 ButtonAction 绑定到 ComboBox 项

JavaFX - Bind ButtonAction to ComboBox Item

我正在使用名为 testBox 的可编辑组合框和项目 testBox.getItems().addAll("A","B","C");。 我还有一个 on Enter-Event

@FXML
public void onEnter(ActionEvent event){
//
}

和像

这样的 ButtonEvents
@FXML
void aButton(ActionEvent event){
//Do stuff
}
@FXML
void bButton(ActionEvent event){
//Do stuff
}
@FXML
void cButton(ActionEvent event){
//Do stuff
}

例如,我如何触发我的按钮'a' - 选择'a' - 选择并按下输入的事件?

请添加片段:)。

您可以确定要在事件处理程序中执行的操作。例如。假设项目列表未修改:

List<EventHandler<ActionEvent>> handlers = Arrays.asList(
                                                    this::aButton,
                                                    this::bButton,
                                                    this::cButton
    );

@FXML
public void onEnter(ActionEvent event){
    int index = testBox.getSelectionModel().getSelectedIndex();
    if (index >= 0) {
         handlers.get(index).handle(event);
    }
}

您当然也可以使用包含 属性 的项目类型作为处理程序...