[英]ScalaFX and FXML example doesnt seem to work
我在這里跟隨這個例子
object DataEditor extends JFXApp {
val resource = getClass.getResource("MainWindowView.FXML")
if(resource == null){
throw new IOException("Cannot load Resource")
}
val root:jfxs.Parent = jfxf.FXMLLoader.load(resource)
stage = new PrimaryStage {
title = "Data Editor"
scene = new Scene(root)
}
}
但是由於某種原因, new Scene(root)
無法用作構造函數。
根應該是javafx.scene,stage.scene是scalafx.scene.Scene,因此使根javafx.Parent無效。
自制作這些示例以來,scalafx是否有任何更改?
答案是因為我將東西塞在SFXML和普通的scalaFX之間
我發現的第一件事是import scalafx.Includes._
,這是我在示例中忽略的那一行是“魔術線”,它修復了javaFX和scalaFX之間的所有怪異現象。 這修復了scene = new Scene(root)
的No constructor
錯誤
我在控制器類上有一個@sfxml批注,但未使用SFXML的FXMLView加載它,這導致javafx找不到no args構造函數。
最后,FXMLView需要一個依賴項解析器(即Subcut),但它們還具有NoDependencyResolver
對象,以保存我們甚至不需要FXMLView(resource, NoDependencyResolver)
人類的培根。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.