Tag:JavaFX   新手认识   
   Sun刚刚发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语言开发富互联网应用程序(RIA)。JavaFX Script 编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative, statically typed(声明性的、静态类型)脚本语言。JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。因为 JavaFX Script是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用Java技术创建和管理大型程序变为可能。    JavaFX开发应用中的问题答疑    JavaFX脚本是一种声明式、静态类型编程语言。它具有一等函数(first-class functions)、声明式的语法、列表推导(list-comprehensions)及基于依赖关系的增量式求值(incremental dependency-based evaluation)等特征。JavaFX脚本为多种多样的操作提供了声明式、无中间程序逻辑的语法,这些操作包括创建2D动画、设置属性或者声明在模式和视图对象之间的绑定依赖关系。    JavaFX教程    在JavaFX中,类的成员函数和操作本身被模式化作为在目标类中的类,而形参和返回值被表示为属性。代表目标对象的属性名是“this”。代表返回值的属性名为“return”。代表形参的属性具有和形参相同的属性名。而目标对象则指使用成员函数和操作的对象。 从上例中可以发现,你也可以从Class对象中获取相同的、被反射的操作。 被反射的操作能够像函数那样通过将目标对象作为第一个参数、其它参数作为后面的参数的方式被调用:    AJAX,Flash,Silverlight,JavaFX到底选谁    事实上,像Adobe's Flex, Microsoft's Silverlight, 以及Sun 最近发布的JavaFX这样的计算技术,使得向量图形实质上优于AJAX提供的Dojo或者Yahoo图形实验室(YUI)这种构架。无论相信与否,在网络应用程序开发中,在基于网络的向量图形的应用方面存在巨大的商机,而这绝不仅仅是看起来比较诱人这么简单。需要注意到,无论是JavaFX, 还是Sliverlight现在都没有分享到被Adobe Flash Player占领的任何市场份额。    JavaFX 1.0 Final 正式发布    2008年12月05日 Sun微系统公司今天正式发布了基于Java语言的平台JavaFX 1.0,这个平台建立在其广泛应用的Java编程语言的基础上,旨在建立大量可在电脑和手机上运行的网络程序。 Java一直以来就是编程语言,但是随着JavaFX的发布,Sun公司开始允许将编程内容创新这一任务转移到以设计艺术为重点而非编程科学为重点的设计人员身上。    “我们的目标群体是叫做创造者的人群”,Sun公司Java平台组的高级副主任 OctavianTanase对 InternetNews.com说,“随着1.0版的发布,我们将目标锁定在网页开发人员,这群可能拓展Java界面体验的人。到2011年,主要的目标是大量使用诸如Adobe系统等设计工具的设计人员”。    当然,通向这个以设计为导向的工具还需要一些时间。Sun公司最后打算提供自己的程序给设计人员来建立RIAS,但是直到如今,这些设计人员还得使用程序员所使用的Netbeans或Eclipse集成开发环境(IDE)。新工具将在来年夏天面市。
JavaFX的例子  package firstjavafxsphere;
  import javafx.scene.effect.DropShadow;
  import javafx.scene.paint.Color;
  import javafx.scene.paint.RadialGradient;
  import javafx.scene.paint.Stop;
  import javafx.scene.Scene;
  import javafx.scene.shape.Circle;
  import javafx.scene.text.Font;
  import javafx.scene.text.Text;
  import javafx.scene.text.TextAlignment;
  import javafx.scene.transform.Scale;
  import javafx.stage.Stage;
  import javafx.animation.Timeline;
  import javafx.animation.KeyFrame;
  import javafx.animation.Interpolator;
  // 比例参数
  var scale=1.0;
  // 颜色,黄色
  var color=Color.YELLOW;
  // 时间线
  Timeline {
  // 重复次数,无限
  repeatCount: Timeline.INDEFINITE
  // 关键帧组
  keyFrames: [
  // 一个关键帧
  KeyFrame {
  // 此帧运行时间,2秒
  time: 2s
  // 在主时间线获得时,是否可以忽略此活动,默认为false
  canSkip: true
  // 此关键帧的参数和感兴趣的参数
  values: [
  // 比例变化到 0.0, 进入和离开都擦除
  scale => 0.0 tween Interpolator.EASEBOTH
  // 颜色变化到绿色
  color => Color.GREEN
  ]
  }
  ]
  }.play(); // 运行时间线
  // 舞台/窗口
  Stage {
  // 标题
  title: "My First JavaFX Sphere"
  // 窗口的宽度
  width: 250
  // 窗口的高度
  height: 250
  // 镜头
  scene: Scene {
  // 内容,节点列表
  content:[
  // 圆
  Circle {
  // 中心点的X/Y坐标
  centerX: 100
  centerY: 100
  // 圆的半径
  radius: 90
  // 填充设置,圆形梯度扩散填充
  fill:RadialGradient {
  // 圆心梯度的中心X和Y
  // 对于外部的100,100的圆,则75,75出现在外部圆的左上
  centerX:75
  centerY:75
  // 半径和外部的圆相同
  radius:90
  // 开始和结束值是否为比例值或者绝对值
  // 我们用绝对值
  proportional:false
  // 一些列沿半径的光圈数值,类似关键帧
  stops:[
  // 光圈1
  Stop {
  // 偏移在0,也就是起始点
  offset:0.0
  // 颜色为红色
  color:Color.RED
  },
  // 光圈2
  Stop{
  // 偏移在100%,颜色为深红
  offset:1.0
  color:Color.DARKRED
  }
  ]
  }
  }
  // 另一个内容,文本
  Text {
  // 文本的字体设置
  font: Font {
  size: 24
  }
  // 文字的坐标
  x: 20
  y: 90
  // 文字的对齐方式
  textAlignment:TextAlignment.CENTER
  // 文字的内容
  content: "Welcome to \nJavaFX World"
  // 文字的填充绑定到color变量
  // 时间线影响了color,则影响到了文字的颜色
  fill:bind color
  // 文字的阴影效果
  effectropShadow {
  // 阴影的偏移,在右下方
  offsetX:10
  offsetY:10
  // 阴影的颜色
  color:Color.color(0.1, 0.3, 0.1)
  }
  // 文字的变化
  transforms:Scale{
  // X不变
  x:1
  // Y绑定在scale变量
  y:bind scale
  // 变化的中心点,这个设置以文字的中心做变化
  pivotX:100
  pivotY:100
  }
  }
  ]
  }
  }
唐山迪锐软件:www.tsp2c.cn