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

JavaFX学习曲线日记-1:探索JavaFX脚本

    博客分类:
  • Java
阅读更多

摘要:

本文由SDN全职作者兼开发者John O'Conner编写,文中坦率地记录了他在学习JavaFX脚本语言过程中的经历。本学习曲线日记系列将致力于介绍JavaFX技术并指导初学者开始使用它。。。

JavaFX学习曲线日记-1:探索JavaFX脚本


作者:John O'Conner
译者:cleverpig

 

        本文由SDN全职作者兼开发者John O'Conner编写,文中坦率地记录了他在学习JavaFX脚本语言过程中的经历。本学习曲线日记系列将致力于介绍JavaFX技术并指导初学者开始使用它。        

        JavaFX 脚本在2007年3月的JavaOne大会上面世,虽然这个技术非常新鲜,但Sun和技术社区一直在努力使其每周都有引人注目的进步。因此现在是学习这种 语言的好机会,你可以马上下载并使用它。这里提供一些展现JavaFX语言特性的漂亮的演示应用。        

        JavaFX 脚本是一种全新的脚本语言,开发者能用来创建动态图形界面。该语言提供了方便使用的Swing接口工具和Java2D API代码库。但它并不能替换Swing或者Java2D;其目标是使这些API更加易于访问。与Java语言不同的是该语言提供了过程式和声明式语法。 你能够使用声明的方式创建富用户接口,并且添加相应的事件处理和操作。

        但是,为了适用于初学者,还是让我们先放慢一下速度,先介绍一下如何着手使用JavaFX脚本吧。首先,你需要完成四件事:

        • 最新的JDK
        • 获取精确、即时更新的信息
        • JavaFXPad演示应用
        • 与开发环境集成在一起的JavaFX脚本插件

搭建Java平台

        作为一名开发者,你无须对JDK的平台适用性多虑。但是,如果你没有升级JDK的话,还是请升级到Java SE 5或者Java SE 6。如果你使用Solaris、Windows或者Linux,你可以从Java SE下载页面 直接下载最新的JDK。如果你使用Mac OS X,那么你也能直接从Apple开发者连接的Java版块 中下载最新的JDK。

获取资源         

        当你体验一种新环境或者语言时将会撞到“死角”或者困难之处,这正是我们在使用尖端技术时常遇到的。为了使学习曲线变得光滑一些,优良的文档和示例是绝对关键的。SDN的JavaFX技术中心OpenJFX项目站点 提供了你所需的最新文档和演示资源。当然,在这些文档中也存在着遗漏,但工作人员正在努力补充完善。推荐你马上将这两个站点添加到浏览器的收藏夹里,常常参考它们:

        • SDN的JavaFX技术中心
        • OpenJFX项目站点

        有 些人希望马上就编写程序,而不去阅读语言规范文档。而另一些人会在实际使用JavaFX脚本之前详细阅读文档。即使你是个急性子,也请首先阅读语言规范或 者入门。在你能够编写出原始的“Hello,world”示例之前,我建议你先了解一下基本的语法、下面是一些用于初学者的文档:

        • JavaFX脚本编程语言手册
        • JavaFX脚本语言入门

使用JavaFXPad

        JavaFXPad 是一个Java Web Start应用,它提供了一个分割窗体的环境:上方是一个实时画板窗口,而在下方是一个简单的编辑器。当你在编辑器中输入脚本代码时,上方的画板窗口将展 示代码被解释后的效果。这是体验JavaFX最快、最容易的方式。画板作为用户接口直接展现了代码效果。
在阅读过JavaFX语言规范文档后,你可以执行JavaFXPad演示 。如果你已经正确地安装了JDK,那么你应该能够在浏览器中正常浏览。当然,你也可以执行命令javaws来启动应用:

javaws http://download.java.net/general/openjfx/demos/javafxpad.jnlp



        成功启动应用后,你应该看到如下窗口:
        image
        图1. JavaFXPad Editor

        JavaFXPad编辑器提供了基本的格式化和代码补全功能。对于JavaFX脚本初学者的我们,往往不能够确保语法的正确性,但代码补全功能可以帮助我们。按下Ctrl+空格键来激活代码补全功能。

        在清空初始的演示代码后,你可以编写自己的“Hello,world!” 。在空白编辑器中输入如下代码:

import javafx.ui.Label;

Label {
    text: "Hello, world!"
}


        你将在编辑器上方看到如下输出:
        image
        图2.  "Hello, world!"

        Ok,到这里我已经尝试讲解了如何建立简单应用。JavaFX环境实现了所有的Swing UI组件,因此你还可以使用其它的组件,比如按钮或者对话框。        

        下面便是一个介绍如何在按钮上设置事件处理的示例。在查看了JavaFX规范中关于action和operation的语法后,让我们尝试在点击按钮后显示一个消息框:

import javafx.ui.Button;
import javafx.ui.MessageDialog;

Button {
    text: "Press me!"
    action: operation() {
        MessageDialog {
            title: "You pressed me"
            message: "Hey, don't do that!"
            visible: true
        }
    }
}



        在输入上述代码后点击按钮,你将看到如下变化:
        image
        图3. "Press me!" Button Message

        JavaFXPad也具有打开和关闭文件的操作,因此你可以装载从前保存的程序文件。尽管JavaFXPad并不是你长期使用的开发编辑器,但它的简单和方便能够帮助初学者。当你已经熟悉这个工具后,也可以在其它编辑器乃至IDE中使用这些保存好的文件。

升级IDE

        当你决定把JavaFX脚本装备到IDE中时,你至少需要找到适用于NetBeansEclipse 的插件。这些插件提供了脚本引擎的核心代码库和它自己的代码库,能够增强编辑效果,并在项目中引入JavaFX脚本。

        以下就是插件的下载链接:
        • 用于NetBeans IDE 5.5的插件
        • 用于NetBean IDE 6.0的插件
        • 用于Eclipse 3.2.2的插件

        在 这里,我采取了和OpenJFX项目文档中略微不同的方式。我在NetBeans中创建了一个新的“JavaFX脚本”更新中心,而不是覆盖现存的 NetBeans升级中心Beta节点。在创建好了新的更新节点后,我所做的便和说明文档中完全一样了。        

        只要你正确地配置更新中心,获得插件便成易事了。选择在你配置的更新中心,然后更新向导将逐步提供给你如下需要下载的模块:

        • JavaFX Editor
        • JavaFX UserLibrary
        • JavaFX Library
        • JavaFX Projects

        在更新向导找到插件后将出现下面的窗口:
        image
        图4. 更新中心的JavaFX Plugins

        NetBeans完成模块下载后,更新向导将提示你安装它们。选择好模块后便可以继续安装。
        image
        图 5.选择要安装的模块

        在 完成插件安装后,你可以在IDE中编辑并运行脚本。这里提供两种运行脚本的方法:使用net.java.javafx.FXShell类或者内建于 Java SE 6中的脚本引擎。IDE插件将设置你的项目主类为FXShell,后者是JavaFX提供的脚本执行器。为了执行指定的脚本,你必须提供脚本的完整名称作 为FXShell的参数。在NetBeans IDE中,你可以通过配置项目属性中的运行设置(Run settings)来做到这一点。下面的图片展示了用于执行脚本的运行配置:com.sun.demo.javafx.ui.PressMe是要被执行的 脚本。com/sun/demo/javafx/ui/PressMe.fx在我的源代码目录。
        image
        图6. PressMe脚本

总结

        在研究新技术时,正确的开始是非常重要的。确保你读取了正确的信息、使用了正确的工具。其最佳方式分为以下四步:
        1.获得最新的JDK。
        2.将OpenJFX项目站和JavaFX技术中心作为你的信息获取来源。
        3.利用JavaFXPad演示应用来实现你的第一个JavaFX脚本。
        4.选择安装适合IDE的插件。

相关资源
        • JavaFX完全中文手册(试读版)
        • Learning Curve Journals, Part 1: Exploring JavaFX Script
        • JavaFX脚本语言起步教程 - 使用NetBeans IDE(5.5或者6.0预览版)或者CLI和JavaFX声明式语法创建你的第一个“HelloWorld”程序。
        • 深入学习JavaFX脚本语言 - 超越“HelloWorld”程序进一步学习如何使用JavaFX脚本的GUI组件。此教程适用于Swing程序员。
        • JavaFX 脚本 2D 图形教程 - 使用一个交互式的画板和源代码编辑器来学习JavaFX脚本编程。
        • 检查 Java.sun.com/javafx/ 获取相关JavaFX脚本的技术文章链接。也可以关注 Mobility 来获取关于Java技术和消费设备的相关文章和信息。
        • JavaFX脚本编程手册

分享到:
评论

相关推荐

    javafx-maven-plugin:Maven插件可运行JavaFX 11+应用程序

    适用于JavaFX的Maven插件 Maven插件可运行JavaFX 11+应用程序 安装 该插件可通过Maven Central获得。 如果要构建和安装最新的快照,可以克隆项目,设置JDK 11并运行 mvn install ... <artifactId>javafx-m

    wxh (JavaFX学习曲线日记

    JavaFX学习曲线日记

    JavaFX2.0 体系结构和框架

    - **JavaFX引擎**:JavaFX2.0的核心是其高性能的Prism引擎,它负责运行应用程序代码。Prism与Glass窗口系统协同工作,提供了一种高效的图形渲染方式。此外,还包括媒体引擎和网络引擎,这些组件共同构成了JavaFX的...

    学习JavaFX脚本语言--中文PDF版

    1. **丰富的UI组件库**:JavaFX包含一套完整的UI组件,如按钮、文本框、表格、菜单等,这些组件具有高度可定制性和可扩展性。 2. **2D和3D图形**:JavaFX支持高性能的2D和3D图形渲染,允许开发者创建复杂的视觉效果...

    javafx-sdk-17.0.2-lts-windows-x64

    3. **bin**: 这个目录通常包含可执行文件和脚本,如JavaFX的编译器`javac`和链接器`javafxpackager`。这些工具允许开发者编译和打包JavaFX应用程序,使其可以在不同平台上运行。 4. **src**: 可能包含了示例代码或...

    javafx_scenebuilder-2_0-windows.rar

    JavaFX Scene Builder是一款强大的图形用户界面(GUI)构建工具,专为JavaFX平台设计,用于简化和加速桌面应用的界面设计。它允许开发者通过拖放组件的方式,无需编写任何代码,即可创建美观且功能丰富的用户界面。...

    JavaFX Demo学习2-----ImageRollover

    在"JavaFX Demo学习2-----ImageRollover"这个主题中,我们将深入探讨如何使用JavaFX来实现图像鼠标悬停时的效果变化,即Image Rollover效果。这种效果常见于网页设计和图形用户界面开发中,当鼠标指针移到图像上时,...

    javafx scene builder 2.0-windows.msi.7z

    JavaFX Scene Builder 2.0 是一款图形化用户界面(GUI)构建工具,专为JavaFX平台设计。它使得开发者可以快速、直观地设计和布局应用程序的用户界面,而无需编写大量的代码。这款软件尤其适合那些希望专注于业务逻辑...

    javafx_scenebuilder-2_0安装包

    标签"javafx_scenebuil"和"java javafx"分别指向JavaFX Scene Builder和JavaFX技术本身,暗示了这个安装包是关于JavaFX GUI设计工具的,对于学习和使用JavaFX的开发者来说是必不可少的资源。 在下载的压缩包文件中...

    javafx-sdk-11.0.2

    1. **库文件**:包括`lib`目录下的各种jar文件,如`javafx.base.jar`、`javafx.controls.jar`、`javafx.fxml.jar`、`javafx.graphics.jar`等,它们分别包含了JavaFX的基础组件、控制组件、FXML布局文件解析器和图形...

    word源码java-JavaFX-Plus:一个简化javafx的框架

    JavaFX-Plus 其他语言 : 目录 前言 这个框架不是UI美化框架,为了简化javaFX项目开发、为了减少项目之间组件耦合而打造的框架。目前框架主要功能如下图所示: 开发进程 2019年11月25日起项目暂停更新,将会下次发布...

    openjfx-jar.zip

    javafx.base-11.0.0-SNAPSHOT-linux.jar,javafx.base-11.0.0-SNAPSHOT-mac.jar,javafx.base-11.0.0-SNAPSHOT-win.jar,javafx-base-11.jar,javafx-base-11-win.jar,javafx-graphics-11.jar,javafx-graphics-11-win....

    javafx_scenebuilder-2_0-windows

    JavaFX Scene Builder是JavaFX平台中的一个重要工具,用于可视化构建用户界面(UI)。它提供了图形化界面,使得开发者可以无需编写代码就能设计出美观且功能丰富的GUI。在本压缩包"javafx_scenebuilder-2_0-windows...

    javafx-dataviewer-example::bar_chart:javafx dataviewer的用法示例-https:github.comjasrodisjavafx-dataviewer-wrapper

    将图表从Java公开到JavaFX和Web! JavaFX·图表·Websockets·码头·Web 运行JavaFX示例! 转到项目位置。 运行Maven包装器! ./mvnw clean compile exec:java 正在创建带有示例图的JavaFX窗口! 文档: : 记住:您...

    javafx-group-layout:JavaFX 8 的 GroupLayout

    替换 JavaFX 中 Swing 的 。 需要 Java 8。 用法示例: GroupLayoutPane root = new GroupLayoutPane (); root . setPadding( new Insets ( 5 )); StackPane n1 = new StackPane (); n1 . setStyle( " -fx-...

    JavaFX_SceneBuilder-2.0_Windows_64

    JavaFX是基于java语言的 图形化界面工具箱,带有大量的内置组件,如按钮,文本字段,表格,树,菜单,图表等; JavaFX支持 2D图形、3D图形、WebView; JavaFX编写的程序,可以运行在 Windows、Linux、Mac、iOS、Android / ...

    JavaFx-InstallGuide-Eclipse:这是在Eclipse上安装JavaFx的简单指南

    4)现在创建一个新的JavaFx项目(在File-> New-> Other-> JavaFx-> JavaFx Project上) 5)然后单击下一步->选择项目的属性(名称,版本jre ...),完成后单击完成6)现在进入Window-> Preferencies,搜索User ...

    javafx_scenebuilder-2_0-windows.zip

    JavaFx SceneBuilder2.0 看好多人官网下载不了我放这里面

    javafx-brightness-example:JavaFX 中可调节的 UI 亮度

    JavaFX 亮度示例 此示例展示了如何使用样式绑定动态控制应用程序的亮度。 在这个例子中,我使用了一个滑块来设置亮度。 Parent root = ... StringExpression styleString = Bindings . format( " -fx-base:rgb(%1...

Global site tag (gtag.js) - Google Analytics