ScalaFX - JavaFX 的 Scala 绑定


BSD
跨平台
Scala

软件简介

ScalaFX是JavaFX 2.0的Scala绑定(UI DSL),主要特性如下:

1)对程序员友好的层次结构式的对象创建语法。

stage = new Stage {
  title.value = "Hello Stage"
  width = 600
  height = 450
  scene = new Scene {
    fill = Color.LIGHTGREEN
    content = new Rectangle {
      x = 25
      y = 40
      width = 100
      height = 100
      fill <== when (hover) then Color.GREEN otherwise Color.RED
    }
  }
}

2)易于理解的属性绑定(Binding)语法。

height <== rect1.height + rect2.height


width <== max(rect1.width, rect2.width, rect3.width)


color <== when (hover) then Color.GREEN otherwise Color.RED


text <== when (rect.hover || circle.hover && !disabled) then textField.text + " is enabled" otherwise "disabled"


rect.hover onInvalidate {
  needsRepaint = true
}

3)精心设计的动画语法。

Seq(
  at(0 s) {circle.centerX -> random * 800},
  at(0 s) {circle.centerY -> random * 600},
  at(40 s) {circle.centerX -> random * 800},
  at(40 s) {circle.centerY -> random * 600}
)

4)类型安全的API。

5)无缝的JavaFX/ScalaFX互操作。