首页 文章

无法运行JavaFX - Kotlin应用程序

提问于
浏览
2

我无法运行我的javafx - kotlin应用程序 .

我的初学者课程

class Starter : Application() {

  override fun start(primaryStage: Stage?) {
      val root : Parent = FXMLLoader.load(javaClass.getResource("view/main.fxml"))
      primaryStage?.title = "Title"
      primaryStage?.scene = Scene(root)
      primaryStage?.show()
  }

  fun main(args: Array<String>) {
      launch(args)
  }
}

我无法将参数“args”传递给“launch”方法,因为编译器说:

错误:(19,9)Kotlin:使用提供的参数不能调用以下函数:public open fun launch(p0:Class!,vararg p1:String!):javafx.application.Application中公开的单元public open有趣的启动(vararg p0:String!):在javafx.application.Application中定义的单元

如果我尝试调用“启动”方法没有参数,我有以下异常

sun.reflect.DelegatingMethodAccessorImpl.invoke中sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)的sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)中的线程“main”java.lang.reflect.InvocationTargetException中的异常 . DelegatingMethodAccessorImpl.java:43)在sun.launcher.LauncherHelper的java.lang.reflect.Method.invoke(Method.java:498)$ FXHelper.main(LauncherHelper.java:767)引起:sun的java.lang.NullPointerException at.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke (Method.java:498)com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)... 5更多

1 回答

  • 2

    您需要使用spread运算符

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

相关问题