`
chixianhuadeyu
  • 浏览: 67503 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaFX Script With Eclipse 入门

阅读更多

摘要:

最近Java社区最火的就是JavaFX Script的发布了,并且Sun同时公布了JavaFX Script的开源网站:openJfx,JavaFX Script是Sun的RIA解决方案,是一种用于编写能够在支持Java的PC和手机上运行的应用软件的更简单的脚本语言。
<!---->
最近Java社区最火的就是JavaFX Script的发布了,并且Sun同时公布了JavaFX Script的开源网站:openJfx,JavaFX Script是Sun的RIA解决方案,是一种用于编写能够在支持Java的PC和手机上运行的应用软件的更简单的脚本语言。其编写的程序可以直接在Java虚拟机上运行(Java 1.5以上),从其运行的环境、方式看,这是Adobe Apollo的劲敌,其运行的效果大家可以查看官方的演示程序(注意,需要Jre 1.5),效果很惊人的哦。下面是其中一个演示的效果图:

image

从语法来看,JavaFX Script是个Java和VRML的混合体,既有Java的优点(面向对象,继承等等),又有VRML的优点(图形描述)。在IDE支持方面,目前以及推出NetBeans和Eclipse的插件,虽然功能还不是很强大,但相信等JavaFX Script正式发布的时候,IDE方面的支持会持续加强的,比如可视模式的UI编辑、语法提示等。

OpenJfx官方有一个基于NetBeans的JavaFX Script 起步,考虑到Flex开发中eclipse(FlexBuilder)的使用情况,今天我们将基于Eclipe来一起开始我们的JavaFX Script发现之旅。文中除了将原文的使用NetBeans更改为Eclipse,其他均翻译自官方文档。

要完成我们今天的旅途,您首先需要安装Eclipse 3.2.2,以及安装FlexBuilder也可以,另外如果您的Jre版本低于1.5请升级。

安装JavaFX Script For Eclipse插件

首先我们来安装JavaFX Script For Eclipse插件,官方的安装说明在这里,安装步骤如下:

启动Eclipse/FlexBuilder;
从主菜单选择 Help > Software Updates > Find and Install;
在Install/Update对话框中, 选择Search for New Features to Install然后点击Next;
点击New Remote Site;
在New Update Site对话框中,在Name中输入JavaFX;
在URL中输入:http://download.java.net/general/openjfx/plugins/eclipse/site.xml
点击OK;
在Install窗口中点击Finish;
在Updates对话框中选择JavaFX > JavaFX node > 然后点击Next;
接受协议并点击Next;
点击Next和Finish;
在Verification对话框中选择Install All;
安装完成后重启Eclipse,JavaFX Script Eclipse 插件就安装完成了。

新建JavaFX工程

以上准备好了JavaFX Script的Eclipse开发环境,现在我们来实际开始JavaFX Script之旅。

我们需要创建一个Java工程来存放我们的JavaFX Script文件。

从Eclipse的主菜单选择New > Project
在选择工程向导窗口中选择Java Project

image

点击Next
输入Project Name为:JavaFXapp
不需要添加JavaFX Script Lib,运行JavaFX Script程序时,Eclipse会自动添加并设置环境的。点击Finish,完成。

image

现在JavaFXapp工程就创建好了,如下图:

image

创建我们第一个JavaFX程序

现在,开始用Eclipse创建我们第一个JavaFX HelloWorld 程序。

右击JavaFXapp > New > Other

image

在New窗口中选择JavaFX > JavaFX File,

image

点击Next,在File name输入:HelloWorld.fx,


image

点击Finish,HelloWorld.fx就被添加到JavaFXapp工程中,并且在右边自动被打开了。


image

将下面代码粘贴到HelloWorld.fx中:
import javafx.ui.*;
        
Frame {
  title: "Hello World JavaFX"
  width: 200
  height: 50
  content: Label {
     text: "Hello World"
  }
  visible: true
}
运行我们的第一个JavaFX程序

现在让我们用Eclipse运行我们的第一个JavaFX程序。
在Eclipse主菜单,选择Run > Run...:
image

在Run窗口中,双击JavaFX Application:
image

然后在Name输入:HelloWorld:
image

点击Arguments,在Program arguments中输入我们的JavaFX程序名称:HelloWorld,这里的名称与Java类名一致,如果我们的HelloWorld存放在prac目录下,那们就输入prac.HelloWorld:
image

点击Run,自动编译运行,将出现下面运行窗口:
image

恭喜,我们现在完成了第一个JavaFX程序。

语法解释

正如您在前面章节看到的,JavaFX语言提供了一种用于表述用户界面组件结构和内容的声明式的语法(Declarative Syntax)。为了帮助您理解发生了什么,我们使用类似于Swing的纯程序的形式(类似AS3)重写以上代码:
var win = new Frame();
win.title = "Hello World JavaFX";
win.width = 200;
var label = new Label();
label.text = "Hello World";
win.content = label;
win.visible = true;

以上源代码同样是正确的JavaFX程序并且和前面的运行效果相同。

以下同时说明了以上声明式和程序式方式的代码实际发生了什么:

调用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属性更新到上面的结果。但是,这样的内容表达依然是声明。
分享到:
评论

相关推荐

    javaFx script

    ### JavaFX Script编程语言概述与核心概念 #### JavaFX Script简介 JavaFX Script是一种用于创建具有流畅用户界面的应用程序的动态编程语言。该语言由Sun Microsystems开发,旨在为Java平台带来更加直观、高效的...

    JavaFX eclipse for eclipse3.4插件

    Eclipse Plugin for JavaFX Start building JavaFX applications on Eclipse with the JavaFX plugin for Eclipse IDE 3.4 or newer.

    JavaFX Script 脚本编程语言

    JavaFX Script 编程语言入门教程 JavaFX Script 编程语言是 Java 多媒体技术方面的应用,设计 JavaFX 入门编程。 JavaFX Script 编程语言基于 Java 平台,因此要求在系统上安装 JDK 5 或 JDK 6(6 更快)。在开始...

    JavaFX Script 语言教程(面向Swing 程序员).pdf

    ### JavaFX Script 语言教程(面向Swing程序员) #### 概述 JavaFX Script 是一种专为简化图形用户界面(GUI)开发而设计的声明式编程语言,它为Java平台带来了一种全新的编程范式。JavaFX Script 提供了一系列...

    JFX例子

    在提供的文件列表中,我们可以看到两个部分的教程:“JavaFX发现之旅:JavaFX Script With Eclipse 入门”。这部分教程可能是指导如何使用Eclipse IDE来编写和运行JavaFX Script代码的。JavaFX Script是早期JavaFX...

    JavaFX Script 入门教程

    将Sun的官方教程整理成PDF文件,方便查看

    JavaFx入门教程

    但是,JavaFx Script也存在一些缺点,例如需要Java虚拟机的支持,需要JavaFX Script For Eclipse插件的支持等。 JavaFx Script是一种功能强大且灵活的RIA解决方案,能够快速开发出丰富的应用程序,并且可以在支持...

    javafx2.2.3 eclipse4.2.1插件

    e(fx)clipse是一款专门为Eclipse设计的JavaFX开发工具,它使开发者能够在Eclipse环境中编写、调试和运行JavaFX应用,极大地提升了开发效率。 以下是对这个插件的一些关键知识点的详细说明: 1. **安装e(fx)clipse...

    JavaFX Script 语言教程(面向Swing 程序员).rar

    JavaFX Script 是一种用于创建富互联网应用程序(RIA)的编程语言,由Sun Microsystems(后被Oracle收购)开发,主要用于构建桌面和移动平台上的图形用户...这个教程将帮助他们快速入门,并充分利用JavaFX的强大功能。

    Javafx Script - Dynamic Java Scripting For Rich Internet-Client-Side Applications (Apress, 2007).pdf

    - 提供了一个快速入门指南,帮助读者快速了解JavaFX Script的基本语法和特性。 - 通过实例演示如何使用JavaFX Script创建简单的用户界面。 3. **第3章:使用JavaFX创建用户界面**(29-80页) - 深入讲解如何使用...

    JavaFX Script 语言教程(面向Swing 程序员)

    JavaFX Script? (下文中称为JavaFX)语言是一种声明式的静态类型编程语言。它具有第一级函数(first-class functions)、声明式的语法、列表推导(list-comprehensions)及基于依赖关系的增量式求值(incremental ...

    Learning the JavaFX Script Programming Language - Tutorial Overview

    集成开发环境(IDE)如Eclipse或IntelliJ IDEA也有插件支持JavaFX Script开发。 **3. 基本语法** JavaFX Script的语法类似于JavaScript,但更专注于UI描述。变量声明、函数定义和条件语句都有其独特的形式。例如,...

    安装javafx开发环境eclipse插件和JavaFX Scene Builder

    ### JavaFX 开发环境搭建详解:Eclipse 插件与 JavaFX Scene Builder #### 一、JavaFX 在 Eclipse 中的开发环境搭建 ##### 1. 安装 e(fx)clipse 到 Eclipse **背景介绍** e(fx)clipse 是一款强大的 JavaFX 开发...

    JavaFX Script - Dynamic Java Scripting for Rich Internet-Client-Side Applications

    - 提供了一个简短的入门教程,帮助读者快速了解如何开始使用 JavaFX Script 进行开发。 - 包含示例代码和实践指南,以便读者能够立即动手实践。 3. **第三章:使用 JavaFX 创建用户界面**(Creating User ...

    JavaFX Script 语言教程(面向Swing程序员) javafx_script.rar

    JavaFX Script 语言教程(面向Swing程序员) javafx_script.rarJavaFX Script 语言教程(面向Swing程序员) javafx_script.rarJavaFX Script 语言教程(面向Swing程序员) javafx_script.rar

    javafx_script学习资料,非常稀缺的资源,我费了好大劲才找到

    JavaFX Script是Oracle公司推出的一种用于创建富互联网应用程序(Rich Internet Applications, RIA)的脚本语言,它专为构建用户界面而设计,特别是在桌面应用领域。这份学习资料的珍贵之处在于,JavaFX Script虽然...

    Eclipse的JavaFX插件

    在JavaFX官方网站看见的。目前还是beta版本! JavaFX Plugin for Eclipse was started in December 2008, is owned by mryzl, and has 15 members.

    JavaFX-Script语言教程.doc

    JavaFX Script是Oracle公司推出的一种用于创建富互联网应用程序(RIA)的脚本语言,它专门设计用来构建桌面和Web上的图形用户界面。虽然JavaFX Script的流行度在JavaFX后来转向Java语言API后逐渐降低,但它依然为...

    Apress.JavaFX.Script.Oct.2007

    - **Simplicity and Power**: JavaFX Script combines the simplicity of a scripting language with the power and flexibility of Java, making it an ideal choice for developers who want to create rich ...

Global site tag (gtag.js) - Google Analytics