侧边栏壁纸
博主头像
Stars-one博主等级

所有的创作都是具有价值的
Android Kotlin Java开发者,喜欢折腾搞机,开发小工具

  • 累计撰写 227 篇文章
  • 累计创建 45 个标签
  • 累计收到 28 条评论

目 录CONTENT

文章目录

TornadoFx中的EventBus使用

Stars-one
2022-01-02 / 0 评论 / 0 点赞 / 315 阅读 / 703 字

本文为作者原创,允许转载,不过请在文章开头明显处注明链接和出处!!! 谢谢配合~
作者:stars-one
链接:https://stars-one.site/2022/01/02/tornadofx-eventbus

这里默认各位都清楚EventBus的具体作用,稍微有点短,主要感觉没有啥好补充的吧

1.定义事件

//接收事件首会在子线程执行
class MyTestEvent(val data: String): FXEvent(EventBus.RunOn.BackgroundThread)

//接收事件会在主线程(UI线程)执行
class MyTestEvent(val data: String): FXEvent()

如果你的事件不需要传参数,推荐使用object关键字

object MyTestEvent: FXEvent()

2.注册事件监听

官方文档是推荐在init方法中使用,可以在View、ViewModel(还没测试)、Controller中的init方法中注册事件,当然,也可以在onDock的生命周期中使用

override fun onDock() {
    super.onDock()
    subscribe<MyTestEvent>{
        //你的操作
    }
}

3.发出事件

在具体某个地方(如按钮的点击事件),使用fire()发出事件即可

button("Load customers").action {
    fire(MyTestEvent("数据.."))
}

参考

0

评论区