`
guoyiqi
  • 浏览: 1000996 次
社区版块
存档分类
最新评论

JavaFX发现之旅:JavaFX Script With Eclipse 入门

阅读更多
JavaFX发现之旅:JavaFX Script With Eclipse 入门
2007-05-16 10:10

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

点击运行演示程序

语法来看,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插件,官方的安装说明在这里,安装步骤如下:

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

新建JavaFX工程

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

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

  1. 从Eclipse的主菜单选择New > Project
  2. 在选择工程向导窗口中选择Java Project
  3. 点击Next
  4. 输入Project Name为:JavaFXapp
  5. 不需要添加JavaFX Script Lib,运行JavaFX Script程序时,Eclipse会自动添加并设置环境的。点击Finish,完成。

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

创建我们第一个JavaFX程序

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

  1. 右击JavaFXapp > New > Other
  2. 在New窗口中选择JavaFX > JavaFX File,
  3. 点击Next,在File name输入:HelloWorld.fx,
  4. 点击Finish,HelloWorld.fx就被添加到JavaFXapp工程中,并且在右边自动被打开了。
  5. 将下面代码粘贴到HelloWorld.fx中:
    import javafx.ui.*;
     
    Frame {
       title: "Hello World JavaFX"
       width: 200
       height: 50
       content: Label {
          text: "Hello World"
      }
       visible: true
    }

运行我们的第一个JavaFX程序

现在让我们用Eclipse运行我们的第一个JavaFX程序。

  1. 在Eclipse主菜单,选择Run > Run...:
  2. 在Run窗口中,双击JavaFX Application:
  3. 然后在Name输入:HelloWorld:
  4. 点击Arguments,在Program arguments中输入我们的JavaFX程序名称:HelloWorld,这里的名称与Java类名一致,如果我们的HelloWorld存放在prac目录下,那们就输入prac.HelloWorld:
  5. 点击Run,自动编译运行,将出现下面运行窗口:

恭喜,我们现在完成了第一个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程序并且和前面的运行效果相同。

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

  1. 调用Frame类构造器创建一个新的Frame。
  2. 对Frame的title、width、visible和content属性进行赋值。
  3. 在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
};

运行程序显示如下:

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

model.saying = "Goodbye Cruel World!";

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

注意该示例通过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
};

运行该程序,显示如下:

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

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

分享到:
评论

相关推荐

    JFX例子

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

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

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

    eclipse/IDEA配置javafx项目步骤

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

    JavaFX Script 入门教程

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

    javafx-11.0.2 jar.rar

    7. **JavaFX SWT**: 类似于JavaFX Swing,`javafx.swt.jar`是为了与Eclipse的SWT库(标准窗口工具包)进行互操作,使得JavaFX可以在SWT环境中运行。 8. **JavaFX Web**: `javafx.web.jar`提供了浏览器内核功能,...

    JavaFX Script 脚本编程语言

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

    javafx2.2.3 eclipse4.2.1插件

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

    javaFx script

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

    javafx入门教程

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

    JavaFx入门教程

    JavaFx入门教程 JavaFx是Sun公司于2007年发布的一种RIA(Rich Internet Application)解决方案,旨在提供一种更简单的脚本语言,以便编写能够在支持Java的PC和手机上运行的应用软件。JavaFx Script是JavaFx的核心...

    javafx使用指南-目录版.pdf

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

    安装Eclipse的JavaFX插件1

    "安装Eclipse的JavaFX插件" 在本篇文章中,我们将详细介绍如何安装Eclipse的JavaFX插件,以便开发者更好地使用JavaFX开发工具。下面是安装步骤的详细解释: 首先,需要下载最新版本的Eclipse 4.5 SDK,这是安装...

    JavaFX 官方教程:RIA 应用开发

    JavaFX 官方教程:RIA 应用开发

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

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

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

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

    找不到javafx、JDK中不自带javafx专用包jfxrt.jar-只要1积分

    4. **运行配置**:如果你使用IDE,如IntelliJ IDEA或Eclipse,可能需要配置运行配置,指定JavaFX的启动类和模块路径。 5. **使用JavaFX API**:现在,你可以像以前一样在你的代码中使用JavaFX的API来创建UI,例如:...

    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 + MySql 实现学生信息管理系统

    JavaFX和MySQL是两个在软件开发中常用的工具,它们结合可以构建功能强大的应用程序,特别是用于创建用户界面和管理数据库的数据驱动应用。在这个“学生信息管理系统”中,JavaFX作为前端框架,提供了丰富的图形用户...

Global site tag (gtag.js) - Google Analytics