The Wayback Machine - https://web.archive.org/web/20120103160958/http://javafx.com/faq/

JavaFX 2.0 Frequently Asked Questions

1. What is new in JavaFX 2.0?


JavaFX 2.0 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.

Feature highlights:

  • Java APIs for JavaFX
  • New hardware accelerated graphics pipeline
  • FXML—a new XML-based markup language for defining user interfaces
  • Over 50 UI controls and charts with CSS3 styling
  • Web component to render HTML and JavaScript content inside a Java application
  • Swing/JavaFX and SWT/JavaFX interoperability for seamless integration into Swing or SWT applications
  • New media engine for stable, consistent media playback
  • For a more complete list of features, look at the features overview

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.
  • 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 2.0 is currently available on 32-bit and 64-bit versions of Microsoft Windows XP, Windows Vista, and Windows 7.
  • A developer preview of JavaFX 2.0 for Mac OS X is available for download on the Oracle Technology Network. It is expected to reach General Availability in the first half of 2012.
  • The Linux version of JavaFX 2.0 will follow, with a General Availability expected in the second half of 2012.
  • JavaFX supports both Java SE 6 and Java SE 7 on Windows, and are expected to support these versions of Java SE on Mac OS X and Linux. For a detailed list of system requirements, see the JavaFX 2.0 Supported System Configurations.

4. Is the JavaFX platform available in open source?


At JavaOne 2011, Oracle announced their intention to open source the JavaFX platform. This proposal was approved by the OpenJDK community, and the JavaFX UI Controls source code has been contributed initially; other JavaFX components are planned to follow in multiple phases.

The source code for JavaFX will be released under the GPL v2 with Classpath Exception license, similar to other projects in OpenJDK. The Oracle JavaFX runtime and SDK will continue to be released under the Java Binary Code License.

You can find more information about Project OpenJFX at http://openjdk.java.net/projects/openjfx


5. Is JavaFX included in Java SE?


No. The JavaFX Runtime is a separate download from the JRE, and several deployment options are available for application developers who want to make the JavaFX Runtime installation as smooth as possible for end users.

However, starting with JavaFX 2.0.2 and Java SE 7 Update 2, Oracle will start triggering the installation of the JavaFX Runtime when the Java SE 7 Oracle JRE is installed, and the JavaFX SDK will be part of the Java SE SDK (JDK). When Java SE 8 reaches General Availability (GA), the JavaFX Runtime will become part of the Oracle JRE.


6. Is JavaFX replacing Swing as the new client UI library for Java SE?


Yes and no. Swing will remain part of the Java SE specification for the foreseeable future, and is included in the JRE. On one hand, Swing is widely used in existing Java desktop applications, but relies on an old architecture, which requires a certain level of expertise and specialization. On the other hand, JavaFX features a set of modern UI controls that can be skinned using standard CSS techniques. While we recommend developers to leverage JavaFX APIs as much as possible when building new applications, it is possible to use Swing and JavaFX within the same application, allowing developers to extend existing Swing applications.


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 applications. The media formats currently supported are the following:

  • Audio: MP3; AIFF containing uncompressed PCM; WAV containing uncompressed PCM
  • Video: FLV containing VP6 video and MP3 audio

8. Does JavaFX 2.0 support JavaFX Script?


Starting with JavaFX 2.0, JavaFX Script is no longer supported. However, you can use other scripting languages that run on the JVM, such as Groovy or Scala, if you prefer to use a declarative language.


9. Will previous versions of JavaFX remain available?


The JavaFX 1.x family of products will remain available for a limited period of time, and is expected to become End Of Life (EOL) in 2012. We strongly encourage companies that have brought to market applications based on previous versions of JavaFX to start planning their migration to JavaFX 2.0.


10. What type of license is JavaFX 2.0 available under?


Starting with JavaFX 2.0.2, JavaFX is available under the same license and business model as Java SE. This includes the ability to distribute the JavaFX Runtime (or SDK) for third party developers with their application(s), subject to the terms and conditions of the license.


11. How often are JavaFX updated releases made available?


JavaFX is expected to follow the same update schedule as Java SE.


12. Is there a support plan for JavaFX?


Two types of support are available for JavaFX:

  1. Developers of JavaFX applications can visit the JavaFX forum, or log in to JIRA to submit bug report or request new features.
  2. Oracle Premier Support for Software: Starting with JavaFX 2.0.2, JavaFX becomes part of the Java SE technologies supported through Oracle Premier Support. This support offering gives companies access to product updates and enhancements, as well as the very latest support resources created to help them maintain their JavaFX-based deployments, improve product performance, and implement new product functionality as it becomes available. Oracle Premier Support for Software is a commercial offering available to customers who have signed a support contract.

13. How do I submit a bug report or request a feature?


If you believe you've found a defect in JavaFX and would like to submit a bug report, or if you would like to suggest a new feature or feature enhancement to the platform, you can do so by visiting and creating an account at http://javafx-jira.kenai.com. Once you have logged in, select 'Issues', then 'Create Issue' from the top navigation bar on the page. Next, select the 'Runtime' project, and select whether you are submitting a bug or a feature request. Follow the instructions on the page to give us as much information as you can. If we need anything else from you we will contact you for more details, but the more you can tell us ahead of time, the better!