• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. OpenJFX
  4. JavaFX Migration Guide

Page History

Versions Compared

Old Version 5

changes.mady.by.user Ajit Ghaisas

Saved on Apr 14, 2025

compared with

New Version 6

changes.mady.by.user Ajit Ghaisas

Saved on Apr 14, 2025

  • Previous Change: Difference between versions 4 and 5
  • Next Change: Difference between versions 6 and 7
  • View Page History

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note : Please see the JDK migration guide for information on migrating your application from JDK 8u to newer JDK versions. This document covers the additional information specific to JavaFX.


Modifications required to JavaFX application

While JavaFX generally takes care of the backward compatibility, a migration from JavaFX-8u to the current version of JavaFX is a big leap. A lot has changed between JDK 8 and later releases.  Almost all of those changes will be beneficial, but there are a few that will require some adjustments to application's code.

Why is this a significant leap?

  • Modularization was introduced in JavaFX 9 (part of JDK 9). This version introduced encapsulation resulting in access removal of internal APIs which were public in JavaFX-8u.
  • JavaFX 11 was un-bundled from JDK from version JDK 11. JavaFX was redesigned to be available as a stand-alone library rather than being included with the JDK. 
  • Accumulated changes from JavaFX 11 to the current version of JavaFX - some deprecation and new API additions. 
  • The JavaFX API has evolved iteratively over these intermediate versions and you might find that some of the APIs you are familiar with have been removed or deprecated. 


A list of deprecated classes and APIs is available at -

https://download.java.net/java/GA/javafx24/docs/api/deprecated-list.html


An exhaustive list of new classes and APIs is available at -

https://download.java.net/java/GA/javafx24/docs/api/new-list.html


Here is a list of most important changes -

  • Encapsulation was introduced in JDK 9. It did three things -
    • Revoked the access of non-public APIs (classes under com.sun.* packages)
    • Removed several deprecated and undocumented "impl_*" methods. (Refer - JDK-8144585)
    • Removed the internal Skin and CSS APIs from `com.sun.javafx.scene.control.skin` and `com.sun.javafx.css`.
  • Important APIs were added to provide replacements for earlier internal APIs
    • A public Skin API was created in the `javafx.scene.control.skin` package, replacing the internal Skin classes formerly in `com.sun.javafx.scene.control.skin`. (See JDK-8077916)
    • A public CSS API was created in the `javafx.css` package, replacing the internal CSS classes formerly in `com.sun.javafx.css`. (See JDK-8077918)
  • The Java Deployment stack was removed in JDK 11. There is no ability to run a JavaFX application as an Applet or a WebStart application.
  • The JavaFX builder classes, which were previously deprecated in JDK 8 with the stated intention to remove them, have been removed from JDK 9. JavaFX applications that use the builder classes should instead construct the needed scene graph objects directly and set the desired properties with the equivalent method calls. (Refer - JDK-8092861)
  • Support for VP6 video encoding format and FXM/FLV container has been removed in JavaFX Media. Users are encouraged to use H.264/AVC1 in the MP4 container or HTTP Live Streaming instead. (Refer - JDK-8187637)
  • FX Media support for libavcodec 53 and 55 was removed. These libraries are not present on supported Linux platforms by default, and are no longer needed.  (Refer JDK-8194062)
  • JavaFX Requires GTK 3 on Linux (GTK 2 support was removed) (Refer - JDK-8299595)
  • The `HostServices::getWebContext` method has been removed. There is no replacement for this functionality. This method was only used when running a JavaFX Applet, which is no longer available" (Refer - JDK-8187149)
  • The security manager, which was used by some client applications, is no longer available.  See https://openjdk.org/jeps/486 for details.


Overview
Content Tools
ThemeBuilder

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.21
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 244, "requestCorrelationId": "0982d774316f5ba1"}