Java 8 で ScalaFX を使用していますが、ScalaFX から CSS ファイルを取得するのに苦労しています。
この時点までに読んだことはすべて、これらの行に沿って何かを使用するように言っています:
object testObj extends JFXApp {
stage = new JFXApp.PrimaryStage {
scene = new Scene {
stylesheets += this.getClass.getResource("/css/app.css").toExternalForm
var nbutton = new Button("Submit")
content_=(List(nbutton))
}
}
}
スタイルシートを追加しようと気にしなければ、アプリはすぐに起動します。ただし、css ファイルを追加しようとすると、コンソールに次のように表示されます。
[info] Running TestTool
Exception in Application start method
Workaround until RT-13281 is implemented: keep toolkit alive
[error] (run-main-0) java.lang.RuntimeException: Exception in Application start method
java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at TestTool$$anon$3$$anon$4.<init>(Main.scala:20)
at TestTool$$anon$3.<init>(Main.scala:19)
at TestTool$.delayedEndpoint$TestTool$1(Main.scala:14)
at TestTool$delayedInit$body.apply(Main.scala:13)
at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scalafx.application.JFXApp$class.scalafx$application$JFXApp$class$$$anonfun$2(JFXApp.scala:250)
at scalafx.application.JFXApp$class.scalafx$application$JFXApp$class$$$anonfun$2$adapted(JFXApp.scala:250)
at scala.collection.immutable.List.foreach(List.scala:381)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:45)
at scalafx.application.JFXApp$class.init(JFXApp.scala:250)
at TestTool$.init(Main.scala:13)
at scalafx.application.AppHelper.start(AppHelper.scala:32)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$49(GtkApplication.java:139)
at java.lang.Thread.run(Thread.java:745)
[trace] Stack trace suppressed: run last compile:run for the full output.
そしてもちろん、アプリケーションは開始されません。
この時点までに読んだことはすべて、Java 8 の問題であるように思われます。どこに進むべきか途方に暮れています。
どんな助けでも大歓迎です。
ありがとうございました、