Getting started with javafx
JavaFX is a software platform for creating and delivering desktop applications, as well as rich internet applications (RIAs) that can run across a wide variety of devices. JavaFX is intended to replace Swing as the standard GUI library for Java SE.
IT enables developers to design, create, test, debug, and deploy rich client applications.
The appearance of JavaFX applications can be customized using Cascading Style Sheets (CSS) for styling (see JavaFX: CSS) and (F)XML files can be used to object structures making it easy to build or develop an application (see FXML and Controllers). Scene Builder is a visual editor allowing the creation of fxml files for an UI without writing code.
Hello World program
The following code creates a simple user interface containing a single
Button that prints a
String to the console on click.
Application class is the entry point of every JavaFX application. Only one
Application can be launched and this is done using
This creates a instance of the
Application class passed as parameter and starts up the JavaFX platform.
The following is important for the programmer here:
launchcreates a new instance of the
HelloWorldin this case). The
Applicationclass therefore needs a no-arg constructor.
init()is called on the
Applicationinstance created. In this case the default implementation from
startis called for the
Appicationinstance and the primary
Stage(= window) is passed to the method. This method is automatically called on the JavaFX Application thread (Platform thread).
- The application runs until the platform determines it's time to shut down. This is done when the last window is closed in this case.
stopmethod is invoked on the
Applicationinstance. In this case the implementation from
Applicationdoes nothing. This method is automatically called on the JavaFX Application thread (Platform thread).
start method the scene graph is constructed. In this case it contains 2
Button and a
Button represents a button in the UI and the
StackPane is a container for the
Button that determines it's placement.
Scene is created to display these
Nodes. Finally the
Scene is added to the
Stage which is the window that shows the whole UI.
Installation or Setup
The JavaFX APIs are available as a fully integrated feature of the Java SE Runtime Environment (JRE) and the Java Development Kit (JDK ). Because the JDK is available for all major desktop platforms (Windows, Mac OS X, and Linux), JavaFX applications compiled to JDK 7 and later also run on all the major desktop platforms. Support for ARM platforms has also been made available with JavaFX 8. JDK for ARM includes the base, graphics and controls components of JavaFX.
To install JavaFX install your chosen version of the Java Runtime environment and Java Development kit.
Features offered by JavaFX include:
- Java APIs.
- FXML and Scene Builder.
- Swing interoperability.
- Built-in UI controls and CSS.
- Modena theme.
- 3D Graphics Features.
- Canvas API.
- Printing API.
- Rich Text Support.
- Multitouch Support.
- Hi-DPI support.
- Hardware-accelerated graphics pipeline.
- High-performance media engine.
- Self-contained application deployment model.