Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is JavaFX complete replacement of Swing?

Tags:

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.

like image 348
Ashish Pancholi Avatar asked Mar 12 '13 13:03

Ashish Pancholi


People also ask

Does JavaFX replace Swing?

JavaFX was intended to replace Swing as the standard GUI library for Java SE, but it has been dropped from new Standard Editions while Swing and AWT remain included, supposedly because JavaFX's marketshare has been "eroded by the rise of 'mobile first' and 'web first applications."

Is JavaFX better than Swing?

From a Java developer perspective, both technologies are highly useful in writing pluggable UI components. With its vast UI component library, Swing can provide added advantage to the developer, whereas when it comes to design modern and rich internet application, JavaFX can supersede Swing.

Is JavaFX easier than Swing?

JavaFX may be a GUI toolkit for Java (GUI is brief for Graphical User Interface). JavaFX makes it easier to form desktop applications and games in Java. JavaFX has replaced Swing because of the suggested GUI toolkit for Java.

What is replacing JavaFX?

GWT, Vaadin, Qt, JSF, and Electron are the most popular alternatives and competitors to JavaFX.


2 Answers

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.

like image 117
8bitjunkie Avatar answered Sep 23 '22 09:09

8bitjunkie


Is JavaFX complete replacement of Swing? 

I think that not,

  • most of components are halfsized in compare with Swing (price for development ???),

  • implementations in JavaFX8 (accesible with Java8) has one important point Swing JComponents could be accesible from JavaFX containers and JavaFX Components will be accesible in Swing JContainers (implemented in newer JavaFX2.2),

  • then JavaFX will be accesible for development of DeskTop applications

  • still question is if will be possible to add JavaFX TextArea together with Swing JTextArea in one JPanel or vice versa (Panel from xxx.scene.xxx)

  • more (the best infos, roadmap, development...) on FX Experience (notice occasionally is down :-)

like image 39
mKorbel Avatar answered Sep 26 '22 09:09

mKorbel