Why is the JavaFX API not included in the Java 8 J2SE?

Does anyone know why JavaFX 8 is still not the everyday J2SE-API in the upcoming Java 8?

A flow chart showing all of the Java components explicitly excludes JavaFX from the J2SE stack.

I would like to see the JavaFX and Swing APIs in the javadocs JDK .. and wonder why Oracle cannot / cannot tell us this?

By the way, on the topic of JavaFX status (compared to other standards included in J2SE), can anyone explain why JavaFX authors absolutely needed to reinvent the wheel, creating concepts incompatible with AWT / Swing, such as FX Fonts, FX colors and etc.

+6
source share
3 answers

JavaFX Roadmap.

According to the FAQ -

Regarding JavaFX 2.2 and Java SE 7 6 updates, the JavaFX libraries are installed as part of Java SE;

For the swing part -

Is JavaFX a replacement for Swing as the new client user interface library for Java SE?

Yes. However, Swing will remain part of the Java SE specification for the foreseeable future and therefore be included in the JRE.

JavaFX is wide enough to have a separate hierarchy such as Java SE or Java EE.

You can see the definition here .

Java SE

When most people think of the Java programming language, they think of the Java SE API. The Java SE API provides the basic functions of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access, graphical user interface (GUI) development, and XML analysis.

Java EE

The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an API and runtime for development and a working large-scale, multi-level, scalable, reliable and secure network application.

Java ME

The Java ME platform provides an API and virtual machine for running Java programming applications on small devices such as mobile phones. The API is a subset of the Java SE API, along with special class libraries suitable for use in small development devices. Java ME applications are often clients of the Java EE platform services.

Javafx

JavaFX is a platform for creating rich Internet applications using a lightweight user interface API. JavaFX applications use hardware-accelerated graphics and media engines to take advantage of higher-performance clients and a modern look, as well as a high-level API for connecting to network data sources. JavaFX applications can be Java EE platform services clients.

+3
source

JavaFX is planned to become a standard part of JavaSE in the timeline of JavaSE 9 (like JSR).

At the same time, Oracle is shipping JavaFX as part of its JavaSE implementation (but other vendors will most likely not).

why did the JavaFX authors consider it absolutely necessary to reinvent the wheel creating AWT / Swing-incompatible concepts such as FX Fonts, FX Colors and the like?

JavaFX is a modern user interface toolkit using a software stack that works closely with the graphics card, if any.

+3
source

JavaFX is part of JavaSE in JDK7 and the default classpath is from Java 8: you don’t need to do anything specifically to use JavaFX components (other than adding the appropriate import statements, as with swing).

As for your last question, I can’t talk about API designers, but since fonts and colors can be imported through a css file, the resulting APIs are somewhat close to what you can specify in a css file, for example. the font belongs to the family, has style and size.

+2
source

Source: https://habr.com/ru/post/952492/


All Articles