如何在ScalaFx中与FXML表单进行交互?

时间:2014-04-29 14:41:19

标签: scala scalafx

考虑this example如何从主代码中获取或设置表单上的任何内容?

我们所拥有的只是一个简单的主要对象,如

object Main extends JFXApp {

  val resource = getClass.getResource("/AdoptionForm.fxml")

  val root: jfxs.Parent = jfxf.FXMLLoader.load(resource)

  stage = new PrimaryStage() {
    title = "FXML GridPane Demo"
    scene = new Scene(root)
  }

}

FXML中定义的表单。

从未明确实例化的控制器类。

至于控制器是一个类(不是对象),并且我在主代码中没有指向其实例的链接,如何访问表单上的任何内容?

我寻求达到的最终目标是让一个演员能够收听传入的消息并使用获得的数据更新表单。

1 个答案:

答案 0 :(得分:0)

您可以从FXML加载程序中获取Controller

val loader = new jfxf.FXMLLoader(resource)
val root = loader.load[jfxs.Parent]
val controller = loader.getController[Controller]