JavaFX: Learning by Example
by Anghel Leonard
If you're a Java developer and you have Swing, animations, GUIs, and Java2D in your daily menu, then you will be very happy to find out that on May 8, 2007 JavaFX was born. As soon as you start using it, you'll appreciate it for it's linearity and simplicity in comparison with traditional Java capabilities.
The JavaFX core, named JavaFX Script, is a declarative scripting language that can be a very good substitute for Java, when you need to create artistic GUIs, nice effects and animations, and complex Swing interfaces. In addition, you can use JavaFX symbiotically with Java and HTML tags.
In this article, you'll see JavaFX at work! You'll see how to develop a partial reproduction of one page of Mariah Carey's web site. Through this example, you'll learn how to:
- Split graphical components into JavaFX classes
- Manipulate images for creating interesting effects
- Play/stop a song by implementing Java in JavaFX
- Build nice menus
- Create rotation, transparency, and translations effects
All easier and faster than can be done with pure Java.
While learning these basic JavaFX skills, you'll also learn to think in JavaFX style, which will hopefully be useful in the futurewhen you will start develop your own JavaFX applications.
A Brief Presentation of the Application
In the following sections, you'll develop eight JavaFX classes (*.fx) that will compose the first page of Mariah Carey web site. In principle, seven of the eight classes will represent individual graphical components and the last class will represent the main class of the application. This class will be the application window. You must use a window because JavaFX applications cannot be executed into a web browserthey are "desktop" applications. Every class will wrap the graphical capabilities of the represented component, such as transparency, events listeners, translations, interactions, etc.
For a better understanding of classes, please see Figure 1.

Figure 1. Split classes on graphical components.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.