JavaFX - 将ButtonAction绑定到ComboBox项

时间:2016-11-12 19:32:46

标签: java button javafx combobox enter

我使用名为testBox的可编辑ComboBox和项目testBox.getItems().addAll("A","B","C");。 我也有一个关于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' -item并按Enter键,我该如何点击我的按钮' -event?

请添加片段:)。

1 个答案:

答案 0 :(得分:1)

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

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

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

相关问题