科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道JavaFX Script With Eclipse 入门4

JavaFX Script With Eclipse 入门4

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

最近Java社区最火的就是JavaFX Script的发布了,并且Sun同时公布了JavaFX Script的开源网站……

来源:IT专家网 2008年5月8日

关键字: Eclipse SCRIPT JavaFX java

  • 评论
  • 分享微博
  • 分享邮件
 以下同时说明了以上声明式和程序式方式的代码实际发生了什么:
  •   调用Frame类构造器创建一个新的Frame。
  •   对Frame的title、width、visible和content属性进行赋值。
  •   在content属性的赋值过程中,调用Label类构造器创建了一个新的Label,并且给它的text属性赋了一个值。
  •   但是,即使像这里这么极端简单的示例中,描述性语法编写的程序的意识还是更加容易理解。

  因为声明式编程(declarative programming)可以从单个表达式创建程序,如前面第一个例子,表达式的根一般为一个生成程序的对象图形的对象分配表达式(构造器)。

  添加动态行为(dynamic behavior)

  上面的“Hello World”程序没有动态行为。在JavaFX中创建一个带动态行为的图形用户接口,即创建一个属性依赖其他对象属性值的图形用户接口组件(和Flex中的绑定的概念一致)。这些其他对象可以是任何您觉得合适的代表您的应用状态的对象。因为该GUI组件的属性依赖于另一个对象,它会自动反应任何时候您对另一个对象的修改。相应的,GUI组件是视图(View)而另一个对象就是模型(Model),下面是“Hello World”程序的Model/View版本:

  import javafx.ui.*;
  class HelloWorldModel {
  attribute saying: String;
  }
  var model = HelloWorldModel {
  saying: "Hello World"
  };
  var win = Frame {
  title: "Hello World JavaFX"
  width: 200
  height: 50
  content: Label {
  text: bind model.saying
  }
  visible: true
  };

  运行程序显示如下:

image

  如果model对象的saying改成下面这样:

  model.saying = "Goodbye Cruel World!";

  运行结果将变为下图所示:

image

  注意该示例通过JavaFX的bind操作将label的text属性初始化为mode的saying属性。在这里,bind操作声明增量更新。这意味着任何时候model.saying改变,label的text属性都将更新为相同的值。

 对于输入构件,如按钮、复选框和文本输入域,模式属性和GUI组件之间的连接可以是双向的。

  考虑以下示例:

  import javafx.ui.*;
  class HelloWorldModel {
  attribute saying: String;
  }
  var model = HelloWorldModel {
  saying: "Hello World"
  };
  var win = Frame {
  title: bind "{model.saying} JavaFX"
  width: 200
  height: 50
  content: TextField {
  value: bind model.saying
  }
  visible: true
  };

  运行该程序,显示如下:

image

  如果您在文本输入域中输入其他内容然后敲回车,窗口的标题将相应的改变:

image

  在这一情况下,文本域的值的更新是用户输入的结果(通过TextField类的实现)。当model的saying属性更新到与文本域相同值发生时,因为该表达式指定窗口的title属性依赖于model的saying属性,表达式被重新计算并且窗口的title属性更新到上面的结果。但是,这样的内容表达依然是声明。


 

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章