【问题标题】:Trigger defined ComboBox<T> EventHandler<ActionEvent> programatically以编程方式触发定义的 ComboBox<T> EventHandler<ActionEvent>
【发布时间】:2014-08-08 21:24:08
【问题描述】:

考虑一下:

ComboBox<T>.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent ae) {
        // Do something.
    }
}

//...

public void triggerDefinedComboBoxEventHandler() {
    // "Click/fire/trigger" ComboBox<T>, in order to perform
    // action described in it's "setOnAction()" body.
}

实现上述功能的最佳方法是什么?不幸的是,我找不到与javafx.scene.control.ComboBox&lt;T&gt; 组件相同或至少类似于javafx.scene.control.Button.fire() 方法的任何东西。因此,到目前为止,我使用的解决方案如下所示:

public void doSomething() {
    // Do something.
}

//...

ComboBox<T>.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent ae) {
        doSomething();
    }
}

//...

public void triggerDefinedComboBoxEventHandler() {
    doSomething();
}

...但它似乎不优雅。

【问题讨论】:

    标签: java combobox javafx javafx-2 javafx-8


    【解决方案1】:

    Event.fireEvent(comboBox, new ActionEvent());

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-18
      • 2011-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多