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.

Feature highlights:

  • 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.
  • Web component (WebView) to render HTML and JavaScript content inside a Java application, with JavaScript to Java bridge.
  • 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 .
     


8. Does JavaFX 2 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.



9. Will previous versions of JavaFX remain available?

JavaFX 1.3 will remain available until the end of 2012 (see EOL announcement). We strongly encourage companies that have applications based on JavaFX Script to start planning their migration to JavaFX 2 as soon as possible.



10. What type of license is JavaFX available under?

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



11. What type of support is available for JavaFX?

  • Java SE Support: JavaFX is part of the Java SE technologies supported for Oracle commercial customers.
  • Community support: applications developers are encouraged to visit the JavaFX forum, or log in to JIRA to submit bug reports and request new features.
     


12. How do I submit a JIRA issue?

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 a JIRA 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!