java - 以编程方式触发定义的 ComboBox<T> EventHandler<ActionEvent>

标签 java combobox javafx javafx-2 javafx-8

考虑一下:

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<T>的任何内容。组件,与 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();
}

...但是看起来不太优雅。

最佳答案

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

关于java - 以编程方式触发定义的 ComboBox<T> EventHandler<ActionEvent>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25212473/

相关文章:

java - 使用 Java 创建 Word 文档

java - 更改 JTextPane 中现有 HTMLDocument 内容的样式

c# - 如何防止控件在模式窗体打开时捕获 KeyDown 事件?

c# - 简单的 WPF 组合框过滤器

java - 为什么在 Java 中打印所有正在运行的线程可以解除应用程序的阻塞?

java - javafx中单击组合框时如何刷新数据?

java - 如何从 JSON 接收到的 BASE64 字符串在 ImageView 中设置图像

java - 如何根据Java中的组合框选项设置文本字段值?

java - 如何在 JavaFX 中单击时移动图像

Java 8 stream.collect( ... groupingBy ( ... mapping( ... reducing ))) 减少 BinaryOperator 的使用