JavaFX Frequently Asked Questions
1. What is new in JavaFX 2?
2. Why should I choose JavaFX to develop applications?
3. What platforms are supported by JavaFX?
4. Is the JavaFX platform available in open source?
5. Is JavaFX included in Java SE?
6. Is JavaFX replacing Swing as the new client UI library for Java SE?
7. Does JavaFX provide support for audio and video codecs?
8. Does JavaFX 2 support JavaFX Script?
9. Will previous versions of JavaFX remain available?
10. What type of license is JavaFX available under?
11. What type of support is available for JavaFX?
12. How do I submit a JIRA issue?
1. What is new in JavaFX?JavaFX 2 is the next step in the evolution of Java as a rich client platform. It is designed to provide a lightweight, hardware-accelerated Java UI platform for enterprise and business applications.
- Functionality exposed through Java API.
- New hardware accelerated graphics pipeline (Prism).
- FXML—a new XML-based markup language for defining user interfaces.
- Over 60 UI controls and charts with CSS styling.
- Support for JavaFX in Swing and SWT applications.
- Self-contained application packaging with platform-specific installers
- Multi-touch support
- New media engine for stable, consistent media playback, including support for H.264 video and AAC audio.
- JavaFX Scene Builder, a visual UI design tool
- For a more complete list of features, view the data sheet.
2. Why should I choose JavaFX to develop applications?JavaFX has been designed to address the needs of modern enterprise client applications. Some of the benefits of using JavaFX are:
- Leverage your Java development skills: JavaFX applications are completely developed in the Java programming language, one of the most widely adopted technologies to develop and deploy software applications, which leverages standards-based programming practices and design patterns.
- Zero to Sixty in no time: A dedicated focus on simplified API design makes developing complex user interfaces in the Java programming language extremely easy. In addition, JavaFX allows developing user interfaces in FXML—a scriptable, XML-based markup language for defining user interfaces. Developers familiar with web technologies or other markup based UI technologies will find FXML easy to learn and powerful for a variety of applications.
- Create without boundaries: JavaFX provides a rich set of graphics and media APIs with high-performance hardware-accelerated graphics and media engines to simplify development of immersive visual applications.
- Preserve investment in Java: JavaFX developers can preserve existing investments by reusing Java libraries in their JavaFX applications. They can even access native system capabilities via the Java native interface, or seamlessly connect to server-based Java EE middleware applications.
- Familiar Java development tools: Developers can use their favorite Java development tools, such as the NetBeans and Eclipse IDEs, for development of JavaFX applications. All the standard IDE features, including syntax highlighting, auto-completion, interactive step-through debugging, and profiling are available for JavaFX developers. In addition, JavaFX Scene Builder offers an intuitive visual layout environment.
- Deploy on the desktop or in the browser: JavaFX applications can be deployed either as desktop applications or in browser applets with the help of the Java browser plugin. The improved Java browser plugin provides JavaFX applications a secure way to run inside a browser. When deployed on the desktop, JavaFX applications get the benefits of better performance and native operative system integration.
3. What platforms are supported by JavaFX?
- JavaFX is available on Windows, Mac OS X, and Linux; for more details, see the JavaFX Certified System Configurations.
- As of JavaFX 2.2 and Java SE 7 update 6, the JavaFX libraries are installed as part of Java SE; a standalone version of JavaFX 2.2 will remain available for Java SE 6 users (Windows only) until Java SE 6 reaches End-of-Life in February 2013.
4. Is JavaFX open source?At this time, the JavaFX UI Controls source code has been contributed to the OpenJFX open source project; other JavaFX components are expected to follow in multiple phases. The code is available under the GPL v2 with Classpath Exception license, similar to other projects in OpenJDK. The Oracle JavaFX runtime and SDK implementations will continue to be released under the Oracle Binary Code License for the Java SE Platform.
5. Is JavaFX included in Java SE?As of JavaFX 2.2 and Java SE 7 update 6, the JavaFX libraries are installed as part of Java SE; a standalone version of JavaFX 2.2 will remain available for Java SE 6 users (Windows only) until Java SE 6 reaches End-of-Life in February 2013.
6. Is JavaFX replacing Swing as the new client UI library for Java SE?Yes. However, Swing will remain part of the Java SE specification for the foreseeable future, and therefore included in the JRE. While we recommend developers to leverage JavaFX APIs as much as possible when building new applications, it is possible to extend a Swing application with JavaFX, allowing for a smoother transition.
7. Does JavaFX provide support for audio and video codecs?JavaFX provides a common set of APIs that make it easy to include media playback within any JavaFX application. The media formats currently supported are the following:
- Audio: MP3; AIFF containing uncompressed PCM; WAV containing uncompressed PCM; MPEG-4 multimedia container with Advanced Audio Coding (AAC) audio
- Video: FLV containing VP6 video and MP3 audio; MPEG-4 multimedia container with H.264/AVC (Advanced Video Coding) video compression .