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

JavaFX发现之旅: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中输入:
点击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属性更新到上面的结果。但是,这样的内容表达 依然是声明。 
 

分享到:
评论

相关推荐

    eclipse/IDEA配置javafx项目步骤

    一:eclipse如何配置javafx 1.安装e(fx)clipse 在安装e(fx)clipse之前eclipse是没有创建javafx项目这一选项的 新建项目选择其它(CTRL + N),在选项卡里面并没有javafx项目选项 这时需要我们安装e(fx)clipse插件:...

    JavaFX+官方教程:RIA+应用开发

    JavaFX是Oracle公司推出的一种用于构建富互联网应用程序(RIA)的平台,它为开发者提供了丰富的图形用户界面(GUI)工具和组件,使得开发者可以创建出具有高质量、高性能、跨平台的应用程序。本教程将深入探讨JavaFX...

    javafx2.2.3 eclipse4.2.1插件

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

    JavaFX Script 入门教程

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

    JavaFX Script 脚本编程语言

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

    javaFx script

    - **Lesson 1: 开始使用JavaFX Script** - **安装指南**:介绍如何下载和安装Java SE与JavaFX开发软件。 - **开发环境选择**:提供关于选择适合自己的开发环境的建议。 - **Lesson 2: 编写脚本** - **编译源代码*...

    javafx-11.0.2 jar.rar

    JavaFX是Java平台上的一个强大的富客户端应用开发框架,它为构建桌面、移动和Web应用程序提供了丰富的图形用户界面(GUI)工具集。标题中的"javafx-11.0.2 jar.rar"指的是JavaFX 11.0.2版本的库文件,这些文件被压缩...

    安装Eclipse的JavaFX插件1

    JavaFX是一种基于Java的富客户端平台,具有强大的图形用户界面和多媒体支持能力,因此它是开发桌面应用程序的不二之选。 在Eclipse中安装JavaFX插件后,开发者可以使用JavaFX开发工具来开发桌面应用程序,包括图形...

    javafx入门教程

    Lesson 1: Getting Started with JavaFX Script Lesson 1将指导您学习JavaFX脚本语言的基础知识,例如变量声明、数据类型、操作符等。 Step 1: 下载并安装JDK JavaFX脚本语言需要JDK 5或JDK 6支持,请下载并安装...

    JavaFx入门教程

    1. 安装Eclipse和JavaFx Script For Eclipse插件 2. 下载JavaFx Script示例代码 3. 学习JavaFx Script的基本语法 4. 使用JavaFx Script编写应用程序 JavaFx Script的基本语法包括变量、数据类型、运算符、控制结构...

    javafx使用指南-目录版.pdf

    1. JavaFX Script:JavaFX 的脚本语言,用于开发 JavaFX 应用程序。 2. JavaFX API:JavaFX 的应用程序编程接口,用于开发 JavaFX 应用程序。 3. JavaFX Graphics:JavaFX 的图形编程接口,用于开发 JavaFX 应用程序...

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

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

    java课程作业:基于JavaFX的迷宫小游戏Eclipse 、JavaFX(源码+课设演示讲解PPT,原理及关键代码介绍)

    java课程作业:基于JavaFX的迷宫小游戏Eclipse 、JavaFX(源码+课设演示讲解PPT,原理及关键代码介绍) java课程作业:基于JavaFX的迷宫小游戏Eclipse 、JavaFX(源码+课设演示讲解PPT,原理及关键代码介绍) java...

    Eclipse 4 与 JavaFx开发教程

    Eclipse 4与JavaFx开发教程是一份旨在指导开发者如何在Eclipse 4环境下集成JavaFx以及搭建基础开发环境的教材。本教程详细阐述了如何利用e(fx)clipse插件,一个专为Eclipse开发的JavaFx集成解决方案,进行开发和调试...

    Eclipse的JavaFX插件

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

    JavaFX 官方教程:RIA 应用开发

    JavaFX 官方教程:RIA 应用开发

    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 语言教程(面向Swing 程序员).pdf

    JavaFX Script 提供了一系列高级特性,如第一级函数、声明式的语法结构、列表推导以及基于依赖关系的增量式求值,这些都使得GUI应用的开发变得更加高效和直观。 #### 第一级函数与列表推导 JavaFX Script 支持第一...

    JFX例子

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

Global site tag (gtag.js) - Google Analytics