- 浏览: 9011 次
- 性别:
- 来自: 广州
最新评论
〖 作者:翻译:Caoer 〗 |
||||
在开始学习一门新的语言前,让我们先看一下JavaFX代码的一些例子。JavaFX 官方站点具有大量的JavaFX 实例。请点击JavaFX Script 2D Graphics Tutorial下载该实例. 下载完成以后,双击tutorial.jnlp 文件即可运行。几秒过后,你应该能够看到如图一的JavaFX实例运行场景(若没有出现该图片,你必须为.jnlp扩展名重新配置Java Web Start)。 花些时间看一看这些例子和源代码。仅仅使用有限的几行JavaFX代码就能得到很多有趣的效果。如果你对于JavaFX的应用还是感到摸不着头脑,看一看下面的两个demo。它们是StudioMoto 和 Tesla Motors 站点的部分重新实现。您可以从OpenJFX 项目站点下载OpenJFX 脚本Studiomoto Demo 和 Tesla Demo。它们需要Java Web Start 才能运行,但是也取决于你的机器配置它们可能自动运行,或者你必须找到和运行已经下载的.jnlp文件。 下载安装JavaFX 如果你对于学习开发JavaFX应用程序,您应该了解至少使用JavaFX三个方法。同时了解JavaFX应用程序不是基于浏览器的也很重要。最简单最快捷的方法是基于叫JavaFXPad轻量级的工具。使用该工具的主要优势是你总能立即看到你在编辑器里所作更改的效果。你能从JavaFX项目网站下载到该工具( JavaFXPad )。并且运行它需要Java Web Start (如图二)。 使用JavaFX的另一种方式是使用JavaFX脚本NetBeans 5.5插件或者Eclipse 3.2插件(需要下载和安装NetBeans 5.5 或者 Eclipse 3.2.2 以上集成开发工具 )。若您已经使用 NetBeans 5.5开始你的JavaFX之旅,OpenJFX项目网站的对于NetBean开发JavaFX的说明将会给予你帮助。 相似的如果您使用基于Eclipse的JavaFX插件,您可以去JavaFX的Eclipse插件。注意这篇文章中的所有例子已经在NetBeans5.5的JavaFX插件中测试过,但是应该能够使用其他方法运行。 使用NetBeans 5.5下的JavaFX插件开发Hello World 程序 每当开始学习一门新的语言时,我们必定要写Hello World 小程序: 源码列表1 import javafx.ui.*; import java.lang.System; Frame { centerOnScreen: true visible: true height: 50 width: 350 title: "HelloWorld application..." background: yellow onClose: operation() {System.exit(0);} content: Label { text: "Hello World" } } 在 1. 启动NetBeans 5.5. 2. 从主菜单选择File -> New Project. 3. 在新项目窗口,选择目录常规目录和 Java 应用项目(点击下一步). 4. 在新的Java应用程序窗口,在项目名文本框敲入 "FXExample". 5. 在相同窗口,用浏览按钮选择项目的目录. 6. 取消 "Set as main project" 和 "Create main class" 复选框 (点击完成). 7. 右击FXExample -> Source Packages 和选择 New -> File/Folder. 8. 在新的文件窗口,选择另一个目录和JavaFX文件类型(点击下一步). 9. 在新的JavaFX文件窗口,敲入"HelloWorld" 作为文件名和"src"作为目录(点击完成). 10. 拷贝源码列表1到 HelloWorld.fx. 11. 右击FXExample 项目选择项目属性. 12. 在项目FXExample属性对话框 ,选择从目录面板运行节点. 13. 在参数文本框敲入 "Hello World" (点击完成). 14. 右击FXExample 项目选择运行项目选项. 如果一切良好,你应该看到一个窗体如图三:
现在你拥有了开发和运行任何JavaFX应用程序的IDE软件支持. JavaFX 语法 在正式开始学习JavaFX,让我们浏览一遍该语言的语法要点。如果你非常熟悉Java语言,这些语法的大多数会让你感到非常熟悉,但是有一些会相当不一样。 JavaFX 原始类型 JavaFX 支持原始类型:String (对应于 java.lang.String), Boolean (对应于 java.lang.Boolean), Number (对应于 java.lang.Number) 和 Integer (对应于 byte,short,int,long,BigInteger). JavaFX 变量 一个JavaFX变量使用var关键字声明。看下面的例子:
操作符
众所周知的Java操作符&&, || 和 ! 在JavaFX中采用下面的形式: · Java: && JavaFX: and · Java: ! JavaFX: not JavaFX 方法 JavaFX 支持这些方法. 具有参数、变量声明和返回值的方法举例: function taxes(x) { var t:Number = (19.0/100.0)*x; return t; } JavaFX if 语句
if (条件) { //动作 } else if (条件) { //动作 } else { //动作 } JavaFX while 语句 这个 while 语句同在Java中的while语句相似。 while (条件) { //动作} JavaFX for 语句 for 语句用于循环和间隔(间隔使用方括号[]和 .. 符号表示). //i 将取值: 0, 1, 2, 3, 4, 5象在 (i in [0..5]) { //伴随 i的动作 }代码块中 JavaFX 过程 JavaFX 过程以operation 关键字为标志。一个简单的例子:
类
JavaFX 类使用class关键字. 一个 JavaFX 类能够使用extends 关键字继承多个类使用逗号分割这些类的名字。在花括号中间你可以放属性、方法和过程,例如下面的例子:
class Order { attribute order_nr: String; attribute ordertype: Order inverse Order.products; attribute products: Order* inverse Order.ordertype; function getOrderNr(): String; operation addOrder(order: Order); } 注意属性使用attribute关键字声明,方法体和过程不在类体中,它们单元定义在类声明以后,在下文你很快就能看到。 inverse 子句是一个可选项 ,它表示一种同在类中另一个属性的双向关系。在这个案例中JavaFX将自动完成更新(插入、替代和删除)你能在Java.net上找到更完整的文档。 熟悉JavaFX 在本小节,您将会看到一系列的小例子,这些例子覆盖JavaFX的各种特性和功能。主要目的是让你熟悉JavaFX代码和JavaFX应用程序的逻辑。第二个目标是当你需要开发仅仅需要几行代码就会有非常酷的GUI,动画和好的效果时候使你确信JavaFX值得好好研究一下。所有列出的例子将介绍关于JavaFX的技巧。每一个例子只使用很少的描述处理,所以不要想找到大量的注释。所有这些可访问的例子你都是你自己就能运行的,所以让我们开始吧。当我们需要使用System.out.println 打印属性值时候,你可以把它的名字放进含有引用的字符串,象源码列表2中所示的那样。 源码列表2 //带有应用文本的表达式 import java.lang.System; var mynumber:Number = 10; System.out.println("数字是: {mynumber}"); 结果 · ?: 可选的(可能为 null) · +: 1或多个 · *: 0或多个 源码列表3 //变量计数 import java.lang.System; var mynumbers:Number* = [1,2,7]; System.out.println("数字是: {mynumbers}"); 结果 源码列表 4 //变量类型是可选的 import java.lang.System; var days = ["Monday,","Friday,","Sunday"]; System.out.println("你必须工作: {days}");
结果: 你必须工作: Monday, Friday, Sunday 源码列表 5 //得到一个数组的大小 import java.lang.System; var lotto = [21,30,11,40,5,6]; System.out.println("数组大小:{sizeof lotto}"); 结果 您能使用 [] 操作符得到满足指定条件的子数组。条件放在 [] 中作为布尔判断 。这个与XPath 谓词相似. 源码列表 6 //使用[] 操作符 -与 XPath相似 import java.lang.System; var mynumbers = [1,2,7,3,30,15,14,6,4]; var numbers = mynumbers[n|n < 10]; System.out.println("小于10的数字为: {numbers}"); 结果 源码列表 7 //返回指定序数位置的数组中的元素 import java.lang.System; var mynumbers = [1,2,7,3,30,15,14,6,4]; var number_four = mynumbers[indexof . == 4]; System.out.println("数字4:{number_four}"); 结果 · as first: 在第一个位置插入 · as last:在最后一个位置(默认)插入 · before: 在前一个位置插入 · after:在下一个位置插入 你可以使用 delete 语句从一个数组中删除一个元素. 源码列表8 //插入和删除语句 import java.lang.System; var mynumbers = [1,2,7]; System.out.println("Before inserting anything: {mynumbers}"); insert 10 into mynumbers; System.out.println("After inserting at the end the \"10\" value:{mynumbers}"); insert [8,6,90] as first into mynumbers; System.out.println("After inserting at the first positions the \"8,6,90\" values:{mynumbers}"); insert 122 as last into mynumbers; System.out.println("After inserting at the end the \"122\" value:{mynumbers}"); insert 78 before mynumbers[3]; insert 11 after mynumbers[3]; System.out.println("After inserting the \"78\" and \"11\" values before/after the 3rd element:{mynumbers}"); delete mynumbers[. == 122]; System.out.println("After deleting:{mynumbers}"); 结果 JavaFX中的一个非常好的功能是list。这个功能使用 select 和 foreach 操作符实现。这有两个例子(一个使用 select 和使用 foreach) 得到指定间隔的奇数。 源码列表9 //JavaFX中的 select 和 foreach 操作符 import java.lang.System; function odd(p:Number) { return select i from i in [1.0 ..p] where (i%2 == 0.0); } var result = odd(10.0); System.out.println("Odd numbers:{result}"); 结果 源码列表10 (同 源码列表 9相同, 但是有 foreach) //JavaFX中的select 和 foreach 操作符 import java.lang.System; function odd(p:Number) { return foreach (i in [1.0 ..p] where (i%2 == 0.0)) i; } var result = odd(10.0); System.out.println("Odd numbers:{result}"); 这个例子显示了 源码列表11 //JavaFX中的 select 和 foreach 操作符 import java.lang.*; import javafx.ui.*; import javafx.ui.canvas.*; Frame { centerOnScreen: true visible: true height: 500 width: 500 title: "Foreach demo..." onClose: operation() { System.exit(0); } content: ScrollPane { background: white view: Canvas { content: bind foreach (i in [1..8], j in [1..8]) Rect { x: i*30 y: j*30 width:30 height:30 fill: Color {red: (100+i) green: (100+j) blue: (100+(i*j)) } stroke:white strokeWidth:1 } } } }
使用双箭头括号引用为JavaFX关键字的变量名或者属性名,如下所示。 源码列表 12 //标志符引用 import java.lang.System; for (<<for>> in [0..3]) { System.out.println("for = {<<for>>}"); } 结果 当你需要开发Swing接口时,JavaFX 是一个伟大的工具,因为 JavaFX 考虑了非常多用来降低代码量和同javax.swing.*包并存友好。在上一节(使用NetBeans5.5中的JavaFX插件测试Hello World应用程序),你看到了创建一个窗体是如何容易。这有两个更好的例子:创建按钮和文本框。 源码列表 13 import javafx.ui.*; import java.lang.System; Frame{ content: Button { text: "Exit" action: operation() { System.exit(0); } } visible: true }
源码列表14 import javafx.ui.*; Frame { content: GroupPanel { var myRow = Row { alignment: BASELINE } var label_col = Column { alignment: TRAILING } var field_col = Column { alignment: LEADING } rows: [myRow] columns: [label_col, field_col] content: [SimpleLabel { row: myRow column: label_col text: "Type your text here:" }, TextField { row: myRow column: field_col columns: 50 }] } visible: true };
Java.net 也有使用JavaFx创建 Swing接口的教程。 |
相关推荐
javaeye上面的以为热心网友发布的javafx入门教程 是翻译sun的官方教程 所以在这里首先要感谢这位热心的通道 我在此只是为了扩大传播 得点分 呵呵
javafx开发入门教程,英文版,个人感觉不错。
javaFx入门演示示例程序操作图片
最近公司需要这技术,自己官网研究,案例,心得。
JavaFX快速入门Demo,快速搭建自己的UI界面,快速熟悉JAVAFX开发。
javaFX 入门 教程,sun 的力作。面向对象,编程很方便简单,以后的桌面的编程新秀,前景超广阔,学会了吃碗好饭呢!
这是javaFX Script Programming language 入门的基本语法与简易教程,是从官网上下载下来的pdf,所以是英文的,有兴趣的朋友可以下来看看,随便提高一下自己的英语水平.<注>这是.7z压缩文件,需要7-zip进行解压才行...
比较简单的JavaFx入门教程,对于程度低一点的同学有用
javafx是编写的界面比常用的swing awt好看,得安装jdk8和最新的eclipse。
JavaFX教程分为2篇:JavaFX入门篇 , JavaFX高级篇。 二、主要内容? 本篇介绍JavaFX的基本技术,至少包括以下方法:* 基本控件的使用 Label Button ImageView等* 基本布局的使用 BorderPane, HBox, VBox等*?常用形状...
OpenCV和JavaFX入门 计算机视觉课程 在Eclipse(Neon)中创建的两个简单项目,分别是库(版本3.x)和JavaFX(版本2或更高版本)入门。 请注意,这两个项目都是出于教学目的而实现的Eclipse项目。 在使用它们之前...
javaFX基础教程及各个组件用法案例和详细文档,非常适合初学者,是学习javafx的非常好的资源,价值13分的资源,推荐下载。
NULL 博文链接:https://ganting.iteye.com/blog/335155
JavaFX入门书籍。书中内容按照培训技术人员的思路设计,读者可以根据该书的章节快速有效地学习JavaFX编程语言。
JavaFX Script 脚本编程语言是java多媒体技术方面的应用,设计javaFX入门编程
JavaFX 8 Introduction by Example - 2nd Edition 介绍了Javafx基础知识、Layout、控件、画图以及在链接Arduino、草莓派等嵌入式设备,是一本很好的Javafx入门书
该文档的内容来自Oracle的官网,多了中英文对照。 如果你希望以JavaFx快速开发出具有丰富的用户体验的应用,那么该手册正是为你而在。
javafx2.0最新最快的资料! javafx2.0最新最快的资料! javafx2.0最新最快的资料! javafx2.0最新最快的资料!
将Sun的官方教程整理成PDF文件,方便查看
JavaFX入门手册