In this section, you will find many useful links and references that will help you gain further knowledge about all JavaFX topics.
JavaFX documentation: This is a great resource pointing toward all JavaFX resources, news, experiences, videos, books, API documentation, technical articles, and tutorials:
http://www.oracle.com/technetwork/java/javase/documentation/javafx-docs-2159875.html
Java Platform, Standard Edition (Java SE) 8: These are Client Technologies, contains many samples covering all JavaFX topics: http://docs.oracle.com/javase/8/javase-clienttechnologies.htm
One of the greatest resources to start learning JavaFX 8 is the Java Development Kit 8 samples and demos, which include a JavaFX demo folder that contains many fantastic and advanced applications that cover all JavaFX topics with source code that you can experiment with yourself.
You can download the samples, by just visiting the following link http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, and then go to the Java SE Development Kit 8u45 Demos and Samples Downloads table, check the Accept License Agreement radio button, and click on the zip file link relevant to your operating system, as shown in the following figure:
The samples
zip file contains pre-built samples that you can run, plus the NetBeans project files for each sample.
Extracting the zip file produces the following directory structure:
--src (Contains a NetBeans project for each sample) --<Sample1> --nbproject --src --build.xml --manifest.mf --<Sample2> <sample1>.jar(Runs the sample as a standalone application) <sample2>.jar
Any sample.jar
can run as a standalone application; double-click on the JAR file and we have four applications:
Ensemble8.jar
: A gallery of sample applications that demonstrate a large variety of JavaFX features, including animation, charts, and controls. For each sample, you can do the following on all platforms:View and interact with the running sample
Read its description.
You can do the following for each sample on desktop platforms only:
Copy its source code
For several samples, you can adjust the properties of the sample components
If you are connected to the Internet, you can also follow links to the relevant API documentation Ensemble8 also runs with JavaFX for ARM (means running on Raspberry Pi).
MandelbrotSet.jar
: A sample application that demonstrates the advantages of parallel execution done using the Java Parallel API.The application renders an image using the Mandelbrot set algorithm and provides intuitive navigation within the range of input parameters.
More information is available in the
index.html
file inside theMandelbrotSet
folder.Modena.jar
: A sample application that demonstrates the look and feel of UI components using theModena
theme. It gives you the option to contrast theModena
andCaspian
themes and explore various aspects of these themes.3DViewer.jar
: 3DViewer is a sample application that allows the user to navigate and examine a 3D scene with a mouse or a track pad. 3DViewer has importers for a subset of the features in OBJ and Maya files.The ability to import animation is also provided for Maya files. (Note that, in the case of Maya files, the construction history should be deleted on all the objects when saving as a Maya file.) 3DViewer also has the ability to export the contents of the scene as Java or
FXML
files.In order to play with the code yourself and to experiment with any changes you may have, congratulations, you have this chance to do this by running all the previously mentioned applications from NetBeans as follows:
In the NetBeans IDE, click on Open Project in the toolbar, or on the File menu and select Open Project.
Navigate to the location in which you unzipped the samples, and in the
src
directory, select a project and then click on Open.To run the application in the NetBeans IDE, in the Project pane, right-click on the project and choose Run.
As a reminder, JavaFX 8 is built into the Java 8 SDK. This means that you only need to download the Java 8 SDK. The Java 8 software development kit and related information can be downloaded from the following locations:
Java 8 at Oracle Technology Network:
The Java development kit:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
What is new in Java 8? Let's check the new features of Java 8:
http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html
Java SE 8 new features tour:
http://tamanmohamed.blogspot.com/2014/06/java-se-8-new-features-tour-big-change.html
The Java 8 documentation and guides are at the following links:
The Java SE 8 Javadoc API documentation:
The JavaFX 8 Javadoc API documentation:
The Java SE 8 Overview Documentation:
The Java SE 8 tutorial:
http://docs.oracle.com/javase/tutorial/tutorialLearningPaths.html
The core Java SE 8 added language features are lambda expressions and the stream API. The following references are road maps, blogs, and videos of topics surrounding project lambda:
State of the Lambda, Brian Goetz (Oracle):
http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-final.html
Java 8 Revealed: Lambdas, Default Methods and Bulk Data Operations, Anton Arhipov:
http://zeroturnaround.com/rebellabs/java-8-revealed-lambdas-defaultmethods-and-bulk-data-operations
10 examples of Lambda Expressions and Streams in Java 8, Javin Paul:
http://javarevisited.blogspot.com/2014/02/10-example-of-lambdaexpressions-in-java8.html
Java SE 8: Lambda Quick Start, Oracle:
http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Lambda-QuickStart/index.html
Java 8: Closures, Lambda Expressions Demystified, Frank Hinkel:
http://frankhinkel.blogspot.com/2012/11/java-8-closures-lambdaexpressions.html
Java SE 8 includes a new scripting engine called Nashorn, which is a new and improved JavaScript engine for the Java runtime. The engine enables developers to use the JavaScript language to program applications.
The following links and references are articles and blogs describing Nashorn:
Oracle's Nashorn: A next Generation JavaScript Engine for the JVM, Julien Ponge:
http://www.oraclejavamagazine-digital.com/javamagazine_twitter/20140102/?pg=60#pg60
Open JDK's Nashorn site:
The Nashorn blog:
Properties and bindings are essential to JavaFX when synchronizing values between JavaFX nodes.
The following are great resources about read-only properties, listeners, and the role of JavaFX Beans:
Creating Read-Only Properties in JavaFX, Michael Heinrichs:
http://blog.netopyr.com/2012/02/02/creating-read-only-properties-injavafx
The Unknown JavaBean, Richard Bair:
https://weblogs.java.net/blog/rbair/archive/2006/05/the_unknown_jav.html
Using JavaFX Properties and Binding, Scott Hommel:
Pro JavaFX 8, (Chapter 4, Properties and Bindings), Johan Vos, James Weaver, Weiqi Gao, Stephen Chin, and Dean Iverson, (Apress, 2014):
Open Dolphin: A JavaFX MVC framework (founded by Dierk Koenig of Canoo Engineering):
JavaFX MVP framework based on Convention over Configuration and Dependency Injection (founded by Adam Bien):
So you want to get involved with the JavaFX community? Please check out the following links:
The Java.net JavaFX community site:
FXExperience: JavaFX News, Demos and Insight (@fxexperience):
Nighthacking (@_nighthacking): Hosted by Stephen Chin. A tour around the world to see everything about Java, JavaFX, and IoT. Amazing live talks.
Oracle's JavaFX Community portal to Real World Use Cases, Community Support, Third-Party tools and Open JFX:
http://www.oracle.com/technetwork/java/javase/community/index.html
JFXtras: A JavaFX custom controls community:
ControlsFX: Another custom controls community, started by Jonathan Giles of Oracle:
Silicon valley JavaFX users group:
Silicon valley JavaFX users group Live stream:
http://www.ustream.tv/channel/silicon-valley-javafx-user-group
Oracle Forums on JavaFX:
https://community.oracle.com/community/developer/english/java/javafx/javafx_2.0_and_later
The following links are newer book titles that relate to the new Java SE 8 and JavaFX 8 platform:
An Amazing book, JavaFX 8: Introduction by Example, Second Edition, Carl Dea, Mark Heckler, Gerrit Grunwald, José Pereda, and Sean M. Phillips (Apress, 2014. ISBN: 978-1-4302-6460-6)
Pro JavaFX 8, Johan Vos, James Weaver, Weiqi Gao, Stephen Chin, and Dean Iverson (Apress, 2014. ISBN: 978-1-4302-6574-0)
Java 8 Recipes, Josh Juneau (Apress, 2014. ISBN: 978-1-4302-6827-7)
JavaFX Rich Client Programming on the NetBeans Platform, Paul Anderson and Gail Anderson (Addison-Wesley Professional, 2014. ISBN: 978-0321927712):
https://blogs.oracle.com/geertjan/entry/new_book_javafx_rich_client
http://www.amazon.com/JavaFX-Client-Programming-NetBeans-Platform/dp/0321927710
Mastering JavaFX 8 Controls, Hendrik Ebbers (Oracle Press, 2014. ISBN: 9780071833776):
Quick Start Guide to JavaFX, J.F. DiMarzio (Oracle Press, 2014. ISBN: 978-0071808965):
Java SE 8 for the Really Impatient, Cay S. Horstmann (Addison-Wesley, 2014. ISBN 978-0321927767)
Mastering Lambdas, Maurice Naftalin (Oracle Press, 2014. ISBN: 007-1829628):
Java Magazine from Oracle:
http://www.oracle.com/technetwork/java/javamagazine/index.html
I appreciate your time, and I hope you enjoyed reading this book as much as I enjoyed writing it for you. Thank you.