Scala的JavaFX2绑定:ScalaFX

jopen 11年前

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互操作。

项目主页:http://www.open-open.com/lib/view/home/1354535478851