Java – Is JavaFX complete replacement of Swing

javajavafx-2swing

I had a Java Desktop Application in which graphical user interface had designed in swing. After we came to know that JavaFX replacing Swing We have replaced graphical user interface with JavaFX.

"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 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."

Now we heard that Oracle donate the JavaFX toolkit to the open source community and OpenJDK Community had agreed to take it on.

The JavaFX toolkit evolved from the F3 project at Sun. Initial
releases were based around the JavaFX scripting language, however, in
2011 the toolkit was completely rewritten in Java and released by
Oracle as JavaFX 2.0. In October 2011 Oracle announced that it would
donate the JavaFX toolkit to the open source community and by November
2011 the OpenJDK Community had agreed to take it on.

I do not think so JavaFX is stable. It has no quick support. Document are not enough explanatory. It does not release internal memory when stage is closed. My application is multithreaded application and most of time taken by my application in updating status of each individual thread. Self contained copy of JRE in native bundle does not reliable, we have to replaced it with JRE folder that resides into JDK.

It's really frustrating and I wonder, if JavaFX is fit to develop the Java Desktop application.

Best Answer

According to Oracle, JavaFX is a replacement for Swing:

http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6, question 6, says:

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.

Related Topic