从(现有的)Kotlin 程序启动 TornadoFX 应用程序

ycomp
fun main(args: Array<String>) {

    HelloWorldApp().launch()
}

fun App.launch() {
    JFXPanel()
    Platform.runLater({
        start(Stage())
    })
}

这就是我现在所做的。有更好的吗?更简洁的方式?

以这种方式在同一个 kotlin 程序中运行多个不同的 TornadoFX 应用程序是否安全?我在某处读到了一些关于全局变量的内容,所以我想知道是否只允许/推荐 1 个。

埃德文·赛斯

JVM 已经知道如何启动 JavaFX 应用程序,并且由于您的 App 类扩展了tornadofx.App它再次扩展javafx.application.Application,您只需将 JVM 指向该主类,它就会运行得很好。如果您想显式启动 TornadoFX 应用程序,JavaFX 提供了一个launch您应该使用的静态方法。

启动 JavaFX 或 TornadoFX 应用程序的典型 main 函数是:

fun main(args: Array<String>) {
    Application.launch(HelloWorldApp::class.java, *args)
}

JavaFX 只允许在Application.launchJVM 的生命周期中调用函数一次,因此无论如何您不能真正启动多个。但是,TornadoFX 提供了特殊的 OSGi 支持,允许您使用应用程序代理实例在同一 JVM 中实际停止和重新启动其他 TornadoFX 应用程序。

TornadoFX 还通过使用 Scopes 来支持 JPro,它允许多个应用程序实例,但实际上并没有Application.launch多次调用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从启动器类启动TornadoFX应用程序

来自分类Dev

将现有的球衣Postgres应用程序迁移到春季启动

来自分类Dev

使用Python控制现有的应用程序

来自分类Dev

修改现有的GWT应用程序

来自分类Dev

WPF Prism +现有的WPF应用程序

来自分类Dev

将现有的Django应用程序导入Pycharm

来自分类Dev

从流星应用程序访问现有的MongoDB集合

来自分类Dev

修改现有的GWT应用程序

来自分类Dev

复制现有的Cakephp应用程序以进行开发

来自分类Dev

连接到现有的Rails应用程序

来自分类Dev

从现有的iPhone应用程序创建通用应用程序

来自分类Dev

如何从现有的Android应用程序从头开始构建Android应用程序?

来自分类Dev

使用混合 watchOS 应用程序扩展现有的 iOS 应用程序

来自分类Dev

仅在首次启动应用程序时,如何启动具有特定活动的应用程序?

来自分类Dev

具有启动参数的Erlang escript启动应用程序

来自分类Dev

从“最近的应用程序”启动应用程序和点击应用程序图标之间有什么区别

来自分类Dev

为现有的Spring MVC应用程序(Spring Mobile或Phonegap)设计一个移动应用程序

来自分类Dev

将现有的SwiftUI应用程序移至新的Xcode 12 SwiftUI应用程序实时周期

来自分类Dev

将现有的Web窗体应用程序迁移到ASP.Net MVC单页应用程序

来自分类Dev

如何将现有的WPF应用程序转换为基于kinect的应用程序?

来自分类Dev

将网站添加到现有的Azure移动应用程序(应用程序服务)

来自分类Dev

在具有相同名称的主机应用程序的客户机上启动应用程序

来自分类Dev

打开应用程序启动器时禁用所有应用程序的概览

来自分类Dev

Docker化现有应用程序

来自分类Dev

Kotlin-findViewById启动后立即关闭应用程序

来自分类Dev

Kotlin Android - 更改应用程序启动背景颜色

来自分类Dev

将现有的Spring应用程序转换为Spring-Boot

来自分类Dev

我可以在现有的javascript应用程序中使用节点模块吗?

来自分类Dev

从命令行推送到现有的AWS Elastic Beanstalk应用程序

Related 相关文章

  1. 1

    如何从启动器类启动TornadoFX应用程序

  2. 2

    将现有的球衣Postgres应用程序迁移到春季启动

  3. 3

    使用Python控制现有的应用程序

  4. 4

    修改现有的GWT应用程序

  5. 5

    WPF Prism +现有的WPF应用程序

  6. 6

    将现有的Django应用程序导入Pycharm

  7. 7

    从流星应用程序访问现有的MongoDB集合

  8. 8

    修改现有的GWT应用程序

  9. 9

    复制现有的Cakephp应用程序以进行开发

  10. 10

    连接到现有的Rails应用程序

  11. 11

    从现有的iPhone应用程序创建通用应用程序

  12. 12

    如何从现有的Android应用程序从头开始构建Android应用程序?

  13. 13

    使用混合 watchOS 应用程序扩展现有的 iOS 应用程序

  14. 14

    仅在首次启动应用程序时,如何启动具有特定活动的应用程序?

  15. 15

    具有启动参数的Erlang escript启动应用程序

  16. 16

    从“最近的应用程序”启动应用程序和点击应用程序图标之间有什么区别

  17. 17

    为现有的Spring MVC应用程序(Spring Mobile或Phonegap)设计一个移动应用程序

  18. 18

    将现有的SwiftUI应用程序移至新的Xcode 12 SwiftUI应用程序实时周期

  19. 19

    将现有的Web窗体应用程序迁移到ASP.Net MVC单页应用程序

  20. 20

    如何将现有的WPF应用程序转换为基于kinect的应用程序?

  21. 21

    将网站添加到现有的Azure移动应用程序(应用程序服务)

  22. 22

    在具有相同名称的主机应用程序的客户机上启动应用程序

  23. 23

    打开应用程序启动器时禁用所有应用程序的概览

  24. 24

    Docker化现有应用程序

  25. 25

    Kotlin-findViewById启动后立即关闭应用程序

  26. 26

    Kotlin Android - 更改应用程序启动背景颜色

  27. 27

    将现有的Spring应用程序转换为Spring-Boot

  28. 28

    我可以在现有的javascript应用程序中使用节点模块吗?

  29. 29

    从命令行推送到现有的AWS Elastic Beanstalk应用程序

热门标签

归档