javafx - 无法运行 JavaFX - Kotlin 应用程序

标签 javafx kotlin desktop

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

我的初学者类(class)

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”方法,因为编译器说:

Error:(19, 9) Kotlin: None of the following functions can be called with the arguments supplied: public open fun launch(p0: Class!, vararg p1: String!): Unit defined in javafx.application.Application public open fun launch(vararg p0: String!): Unit defined in javafx.application.Application

如果我尝试在没有参数的情况下调用“launch”方法,我会遇到以下异常

Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.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) at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767) Caused by: java.lang.NullPointerException at sun.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) at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389) at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328) ... 5 more

最佳答案

你需要使用传播运算符

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

关于javafx - 无法运行 JavaFX - Kotlin 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47367990/

相关文章:

javafx - 悬停时如何在javafx TableView中突出显示一列而不是一行?

java - 循环中的 PathTransition

java - 如何防止javafx在图像中引起非法参数异常?

kotlin - 我如何在其中传递 onClick 参数?

java - 如何使用 Swing 通过 Java 桌面应用程序上的图标运行 JAR 文件?

java - 使用路径转换时对碰撞无响应

Kotlin:引用构造函数未传递的委托(delegate)

android - 如何使用Android库从应用程序获取资源路径?

java - 文件输出Java的桌面路径

以浏览器为界面的 Python 桌面应用程序?