1 What is JavaFX?
JavaFX is a set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms.
You can customize the look and feel of JavaFX applications. Cascading Style Sheets (CSS) separate appearance and style from implementation so that developers can concentrate on coding. Graphic designers can easily customize the appearance and style of the application through the CSS. See JavaFX CSS Reference Guide.
If you have a web design background, or if you would like to separate the user interface (UI) and the back-end logic, then you can develop the presentation aspects of the UI in the FXML scripting language and use Java code for the application logic. See Introduction to FXML
Key Features
- WebView. This is the JavaFX embedded browser, which is a user interface component that provides a web viewer and full browsing functionality through its API. It uses WebKitHTML technology to make it possible to embed web pages within a JavaFX application. JavaScript running in WebView can call Java APIs, and Java APIs can call JavaScript running in WebView. It supports HTML5 features, including Web Sockets, Web Workers, Web Fonts, and printing capabilities.
- Swing interoperability: Existing Swing applications can be updated with JavaFX features, such as rich graphics media playback and embedded Web content. Use the SwingNode class to embed Swing content into JavaFX applications
- Built-in UI controls and CSS: JavaFX provides all the major UI controls that are required to develop a full-featured application. Components can be skinned with standard Web technologies such as CSS.
- 3D Graphics Features: The JavaFX 3D graphics APIs provide a general purpose three-dimensional graphics library for the JavaFX platform. You can use 3D geometry, cameras, and lights to create, display, and manipulate objects in 3D space.
- Canvas API: The JavaFX Canvas API provides a custom texture that you can write to.
- Printing API: The javafx.print package enables JavaFX applications to show standard print dialogs, discover printers and paper and media capabilities, and render JavaFX Node instances to a printer through a PrinterJob.
- Rich Text Support: JavaFX's enhanced text support includes bidirectional text and complex text scripts, such as Thai and Hindu in controls and multiline and multistyle text in text nodes.
- Multitouch Support: JavaFX provides support for multitouch operations, based on the capabilities of the underlying platform.
- Hi-DPI support: JavaFX supports Hi-DPI displays.
- High-performance media engine: The media pipeline supports the playback of web multimedia content. It provides a stable, low-latency media framework that is based on the GStreamer multimedia framework.
- Self-contained application deployment model: See Creating a Custom JRE for a JavaFX Application, which enables you to distribute your JavaFX application as a self-contained application.