Java had the support for developing GUI applications since its version 1.0 using the AWT (Abstract Windows Toolkit). Later AWT was replaced by Swing, which gave a little better user experience, but still lacked the modern-looking widgets and the support for developerrsquo;s productivity. Both AWT and Swing lacked the first-class support for data binding, efficient GUI rendering engines, easy-to-use 2D and 3D libraries for developers, and style sheet support. JavaFX was first released in 2008 as the tool to use for developing rich Internet applications (RIAs); it used a statically typed declarative language called JavaFX Script, which did not attract a lot of attention from Java developers. JavaFX 2.0, released in 2011, caught the Java communityrsquo;s attention when it dropped the support for JavaFX Script and supported writing JavaFX programs using the Java programming language. In its current version, JavaFX 8 is supported in the Java platform by including the JavaFX runtime along with the Java runtime in the JRE. Now JavaFX 8 is considered a real successor for Swing for building the GUI application using the Java platform.
Learn JavaFX 8 shows you how to start developing rich-client desktop applications in JavaFX 8 using your Java skills. It provides comprehensive coverage of the JavaFX 8 features. Each chapter starts with an introduction to the topic at hand. A step-by-step discussion of the topic with small snippets of code follows.
At the end of the topicrsquo;s discussion, a complete program is presented. Special care has been taken to present the topics in such a way that chapters can be read serially. The book contains numerous pictures to aid you in visualizing the GUI that is built at every step in the discussion.
The book starts with an introduction to JavaFX and its history. It lists the system requirements and the steps to start developing JavaFX applications. It shows you how to create a Hello World application in JavaFX, explaining every line of code in the process. Later in the book, advanced topics such as 2D and 3D graphics, charts, FXML, advanced controls, and printing are discussed. Some of the advanced controls such as TableView, TreeTableView, and WebView are covered in chapters of their own.
I faced few hurdles while writing this book. As JavaFX 8 was being developed, JavaFX 2, the version before JavaFX 8, was the first release of JavaFX that used the Java programming language to write JavaFX code. There were few bugs in JavaFX 2. Sometimes it took me a couple of days of hard work to create an example to work with, only to realize that there was a bug in it. Later, if something did not work, I would look at the JIRA bug reports for JavaFX before spending too much time researching it myself. I had to fix bugs as I found them. It took me 18 months to finish this book and, in the end, it was satisfying to see that what I had produced was a lot of useful material covering almost every topic in JavaFX so fully that readers could use to learn and build a
rich client application quickly using JavaFX. I hope you will enjoy the book and benefit greatly from it.
I believe that programming is simple if you learn it that way. Keeping this in mind, I kept the examples in the book as simple as possible, presenting them in as few lines as I could. The examples focus on the topic being discussed. I do not present complex GUI in my examples, keeping in mind that this could obscure the learning process of the topic at hand. I have seen books that contain examples that run four or five pages
long, sometimes even longer; readers of such books (myself included) often get lost in trying to understand the logic of the program, thus forgetting what they were trying to learn in that section. Therefore, simple programs in this book are intended to help you learn JavaFX faster. The book includes 330 ready-to-run programs and 430 pictures. Having more pictures than programs is evident from my approach in keeping the readersrsquo; interest the first priority. Almost every time I discuss a snippet of code producing a UI, I include the picture of the results of the UI, so readers are not left to their imaginations as to what the code snippet will produce. Having to run every snippet of code to see the output can hinder the learning rhythm.
www.it-ebooks.info
■ intRoduCtion
xxviii
Structure of the Book
The book contains 30 chapters covering all topics—from basic to advanced—in JavaFX. Chapters are arranged in an order that aids you to quickly learn JavaFX. I have used an incremental approach to teach JavaFX, assuming no prior GUI development knowledge. Each chapter starts with a section introducing the topic to be discussed in the chapter. Each section contains a bit of background of the features being discussed, followed with code snippets and a complete program.
What You Will Learn
This book will help you to learn:
What JavaFX 8 is and its history bull;
How to develop rich-client desktop applications using JavaFX 8 bull;
How to use properties, collections, colors, and styles bull;
How to use controls and handle events to build modern GUI applications bull;
How to use advanced controls such as TreeView, TableView, and TreeTableViev. bull;
How to access web pages in JavaFX applications bull;
How to draw 2D and 3D shapes and apply effects and transformations bull;
How to create animations and charts using the JavaFX 8 APIs bull;
How to add audios and videos to your applications bull;
How to create GUIs in JavaFX using FXML bull;
How to provide the printing capabilities using the JavaFX Print API bull;
Who Is This Book for?
Learn JavaFX 8 was written for Java developers, with beginning to intermediate level Java skills, who want to learn how to develop modern desktop GUI applications using JavaFX 8.
Source code for this book may be downloaded from www.apress.com/9781484211434; errata can be s
剩余内容已隐藏,支付完成后下载完整资料
Java支持开发GUI应用程序,因为它的1.0版本使用了AWT(抽象的Windows工具包)。后来AWT被Swing所取代,它提供了更好的用户体验,但仍然缺少现代外观的小部件和对开发人员生产力的支持。AWT和Swing都缺乏对数据绑定、高效GUI呈现引擎、易于使用的2D和3D库以及样式表支持的一流支持。JavaFX在2008年首次发布,作为开发富Internet应用程序的工具(RIAs);它使用一种静态类型的声明性语言JavaFX脚本,这并没有引起Java开发人员的注意。JavaFX 2.0在2011年发布,当它放弃对JavaFX脚本的支持并支持使用Java编程语言编写JavaFX程序时,引起了Java社区的注意。在其当前版本中,javafx8在Java平台中支持,包括JavaFX运行时以及JRE中的Java运行时。现在JavaFX 8被认为是使用Java平台构建GUI应用程序的真正的后续。
学习javafx8展示了如何使用Java技能在javafx8中开发富客户端桌面应用程序。它提供了javafx8特性的全面覆盖。每一章的开头都是对当前主题的介绍。下面将逐步讨论这个主题,并附带一小段代码。
在讨论的最后,提出了一个完整的程序。人们已经特别注意以一种方式来呈现这些主题,从而可以连续地阅读章节。这本书中包含了大量的图片,以帮助你在讨论中每一步都建立的图形界面。
本书首先介绍了JavaFX及其历史。它列出了系统需求和开始开发JavaFX应用程序的步骤。它向您展示了如何在JavaFX中创建Hello World应用程序,并解释流程中的每一行代码。在本书的后面,讨论了诸如2D和3D图形、图表、FXML、高级控件和打印等高级主题。一些高级控件,如TableView、TreeTableView和WebView,都包含在它们自己的章节中。
写这本书时,我几乎没有遇到障碍。javafx8正在开发中,JavaFX 2是JavaFX 8之前的版本,它是JavaFX的第一个版本,它使用Java编程语言编写JavaFX代码。JavaFX 2中几乎没有bug。有时,我花了几天的努力来创建一个示例,但却发现其中有一个bug。稍后,如果有什么不工作,我将查看JIRA bug报告给JavaFX,然后花太多时间自己研究它。当我发现虫子的时候,我必须修正它们。读完这本书花了我18个月的时间,最后,我很满意地看到,我所制作的是很多有用的材料,几乎涵盖了JavaFX的每个主题,读者可以用它来学习和构建a。
富客户机应用程序快速使用JavaFX。我希望你会喜欢这本书,并从中受益匪浅。
我相信编程很简单,如果你这样学的话。记住这一点,我把书中的例子尽可能地简单,尽可能多地呈现它们。这些例子集中在讨论的主题上。在我的示例中,我没有介绍复杂的GUI,记住这可能会模糊当前主题的学习过程。我已经见过一些书,里面包含了运行四五页的例子。
长,有时甚至更长;这些书的读者(包括我自己)经常会迷失在试图理解程序的逻辑的过程中,从而忘记了他们在这一节中试图学习的内容。因此,本书中的简单程序旨在帮助您更快地学习JavaFX。这本书包括330个现成程序和430张图片。从我的方法来看,有更多的图片比程序更能让读者的兴趣成为第一要务。几乎每次我讨论生成UI的代码片段时,都会包括UI结果的图片,这样读者就不会被留给他们的想象,就像代码片段会产生什么一样。必须运行每个代码片段以查看输出会阻碍学习节奏。
介绍
第二十八章
这本书的结构
这本书包含了30个章节,涵盖了所有的主题——从基本到高级的JavaFX。章节的排列顺序可以帮助你快速学习JavaFX。我使用了一种增量方法来教授JavaFX,假设没有以前的GUI开发知识。每一章的开头都是一个章节,介绍了本章讨论的主题。每个部分都包含一些正在讨论的特性的背景,后面是代码片段和一个完整的程序。
你将学习什么
这本书将帮助你学习:
JavaFX 8是什么?它的历史是什么?
如何使用JavaFX 8 *开发富客户端桌面应用程序?
如何使用属性、集合、颜色和样式?
如何使用控件和处理事件来构建现代GUI应用程序?
如何使用TreeView、TableView和TreeTableViev等高级控件。bull;
如何在JavaFX应用程序中访问web页面?
如何绘制2D和3D图形,并应用效果和转换?
如何使用javafx8 api创建动画和图表?
如何向应用程序添加音频和视频?
如何使用FXMLbull;在JavaFX中创建gui ?
如何使用JavaFX Print API提供打印功能?
这本书是给谁的?
学习javafx8是为Java开发人员编写的,并开始使用中级Java技能,他们希望学习如何使用javafx8开发现代桌面GUI应用程序。
本书的源代码可以从www.apress.com/9781484211434下载;可以通过相同的链接提交和查看errata。
请将您所有的问题和评论直接发送到
1
第一章
开始
在本章中,您将学习:
什么是JavaFX
JavaFX的历史。
如何编写第一个JavaFX应用程序?
如何使用NetBeans集成开发环境与一个JavaFX应用程序
如何将参数传递给JavaFX应用程序?
如何启动JavaFX应用程序?
JavaFX应用程序的生命周期。
如何终止JavaFX应用程序?
JavaFX是什么?
JavaFX是一个开放源码的基于java的框架,用于开发富客户机应用程序。它可以与市场上的其他框架类似,比如Adobe Flex和Microsoft Silverlight。JavaFX在Java平台的图形用户界面(GUI)开发技术领域也被视为Swing的继任者。
JavaFX库可用作公共Java应用程序编程接口(API)。JavaFX包含几个特性,使其成为开发富客户机应用程序的首选项:
JavaFX是用Java编写的,它使您能够利用所有Java特性。
例如多线程、泛型和lambda表达式。您可以使用任何Java。
您所选择的编辑器,例如NetBeans,可以编写、编译、运行、调试和打包。
JavaFX应用程序。
JavaFX通过其库支持数据绑定。
JavaFX代码可以使用任何Java虚拟机(JVM)-支持的方式编写。
脚本语言,如Visage、Groovy和Scala。
JavaFX提供了两种构建用户界面(UI)的方法:使用Java代码和使用。
FXML。FXML是用于定义UI的基于xml的脚本标记语言。
以声明的方式。Oracle提供了一个名为Scene Builder的工具,它是一个可视化编辑器。
FXML。
第一章开始。
2
JavaFX提供了一组丰富的多媒体支持,如回放audios和。
视频。它利用了平台上可用的编解码器。
JavaFX允许您在应用程序中嵌入web内容。
JavaFX为应用效果和动画提供了开箱即用的支持。
对于开发游戏应用程序非常重要。您可以通过编写几行代码来实现复杂的动画。
在JavaFX API背后,有许多组件可以利用Java本地库和可用的硬件和软件。JavaFX组件如图1-1所示。
JavaFX中的GUI构建为场景图。场景图是一组可视元素,称为节点,以分层的方式排列。场景图是使用公共JavaFX API构建的。场景图中的节点可以处理用户输入和用户手势。它们可以产生效果、转换和状态。
场景图中的节点类型包括简单的UI控件,如按钮、文本字段、二维(2D)和三维(3D)形状、图像、媒体(音频和视频)、web内容和图表。
Prism是一种用于渲染场景图的硬件加速图形管道。如果在平台上不能使用硬件加速渲染,则使用Java 2D作为回退渲染机制。
例如,在使用Java 2D进行rend之前,它将尝试在Windows和OpenGL上使用Mac Linux和嵌入式平台上的DirectX。
玻璃窗口工具包提供了图形和窗口服务,例如windows和使用本机操作系统的计时器。工具箱还负责管理事件队列。在JavaFX中,事件队列由一个名为JavaFX应用程序线程的操作系统级线程管理。所有用户输入事件都被分派到JavaFX应用程序线程上。JavaFX要求必须在JavaFX应用程序线程上修改实时场景图。
Prism使用一个单独的线程,而不是JavaFX应用程序线程,用于呈现过程。
它通过呈现一个帧来加快进程,而下一个帧正在被处理。当一个场景图被修改时,例如,通过在文本框中输入一些文本,Prism需要重新渲染场景图。
使用一个称为脉冲事件的事件来完成对场景图与Prism的同步。当场景图被修改,并且需要重新呈现时,一个脉冲事件在JavaFX应用程序线程上排队。脉冲事件表明,场景图与Prism中的渲染层不同步,而在Prism级别上的最新帧应该呈现。脉冲事件以每秒60帧的速度被抑制。
媒体引擎负责在JavaFX中提供媒体支持,例如,回放音频和视频。它利用了平台上可用的编解码器。媒体引擎使用一个单独的线程来处理媒体框架,并使用JavaFX应用程序线程来将帧与场景图同步。媒体引擎基于GStreamer,这是一个开源的多媒体框架。
web引擎负责处理嵌入在场景图中的web内容(HTML)。Prism负责呈现web内容。web引擎基于WebKit,它是一个开源的。
web浏览器引擎。HTML5、层叠样式表(CSS)、JavaScript和文档对象模型(DOM)
都受支持。
JavaFX公共API
棱镜玻璃窗口工具包
媒体引擎
Web引擎
量子工具包
图1 - 1。JavaFX平台的组件。
第一章开始。
3
量子工具包是对Prism、玻璃、媒体引擎和Web引擎底层组件的抽象。它还促进低级组件之间的协调。
注意在本书中,假定你有中级Java编程语言的知识。熟悉Java 8中的新特性,比如lambda表达式和时间api。
JavaFX的历史
JavaFX最初是由SeeBeyond的Chris Oliver开发的,它被称为F3(形式跟随功能)。
F3是一种Java脚本语言,可以轻松地开发GUI应用程序。它提供了声明性语法、静态类型、类型推断、数据绑定、动画、2D图形和Swing组件。SeeBeyond被Sun Microsystems收购,F3在2007年更名为JavaFX。甲骨文在2010年收购了太阳微系统公司。Oracle在2013年开源JavaFX。
JavaFX的第一个版本在2008年第四季度发布。JavaFX当前的版本是8.0版本。版本号从2.2跳到8.0。从Java 8中,Java SE和JavaFX的版本号将是相同的。Java SE和JavaFX的主要版本将同时发布。
表1-1包含一个JavaFX版本的列表。从Java SE 8的发布开始,JavaFX是Java SE运行时库的一部分。从Java 8开始,您不需要任何额外的设置来编译和运行JavaFX程序。
表1 - 1。JavaFX的版本
发布日期版本注释
Q4, 2008 JavaFX 1.0是JavaFX的最初版本。它使用了一个声明
使用JavaFX脚本编写JavaFX代码。
2009年Q1, JavaFX 1.1支持JavaFX Mobile。
Q2,2009 JavaFX 1.2
Q2,2010 JavaFX 1.3
2010年第三季度,JavaFX 1.3.1
Q4, 2011 JavaFX 2.0对JavaFX脚本的支持被删除。它使用了Java
编写JavaFX代码的语言。对JavaFX Mobile的支持被删除。
2012年2月1日JavaFX 2.1支持Mac OS的桌面系统。
2012年第三季度,JavaFX 2.2
javafx8.0 JavaFX版本从2.2跳到8.0。JavaFX和JavaSE版本将与Java 8匹配。
第一章开始。
4
系统需求
你需要在你的电脑上安装以下软件:
Java开发套件8。
NetBeans IDE 8.0或更高版本。
没有必要让NetBeans IDE编译并运行这本书中的程序。然而,NetBeans IDE具有用于创建、运行和打包JavaFX应用程序的特殊功能,以使开发人员的生活更轻松。您可以使用任何其他IDE,例如Eclipse、JDeveloper或IntelliJ IDEA。
JavaFX运行时库
所有JavaFX类都打包在一个名为jfxrt.jar的Java Archive (JAR)文件中。JAR文件位于Java主目录下的jre\lib\ext目录中。
如果您在命令行上编译和运行JavaFX程序,您不需要担心在类路径中设置JavaFX运行时JAR文件。Java 8编译器(javac命令)和启动器(Java命令)自动将JavaFX运行时JAR文件包含在类路径中。
NetBeans IDE自动将JavaFX运行时JAR文件包含在类路径中。
创
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[464540],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。