OpenJFX
First, know that Oracle has open-sourced an implementation of JavaFX as the OpenJFX project, a sub-project on the OpenJDK project.
Further development of JavaFX/OpenJFX is now led by the company Gluon. That development of OpenJFX is vigorous, with versions 11, 12, 13, 14, and now pre-release 15 arriving almost lock-step with releases of Java 11, 12, 13, 14, and 15.
Rather than manually downloading JavaFX, I recommend either of these approaches:
- Obtain a JDK with OpenJFX bundled
- Use a dependency manager to auto-download OpenJFX into your app
JavaFX bundled with JDK
Replace your Java implementation with one that bundles the open-source implementation of JavaFX known as OpenJFX.
You can find at least two such bundled JDKs:
- LibericaFX from BellSoft is one such implementation of Java, based on the OpenJDK project.
- ZuluFX from Azul Systems, announced here. Tip: On their download page, use the Java Package pop-up menu to choose either JDK FX or JRE FX. As of 2020-05, they have not yet released version 14 of their JavaFX bundle, but they have versions 8, 11, and 13 of their ZuluFX. I suggest checking back later for 14, or contact the company. ZuluFX is free-of-cost, with an invitation to talk if you are interested in buying support for JavaFX.
Here is a flowchart I made to help folks in selecting a vendor of a Java implementation. Notice the “OpenJFX bundled?” branch near the bottom.


OpenJFX as a dependency
I do not know if Atom can work with a dependency manager, but for your information…
Configure your build tool such as Maven or Gradle to automatically download and bundle OpenJFX as a dependency.
For Maven, here is the current POM configuration for javafx-controls, for version 14 of both Java and OpenJFX. And you will likely want JavaFX Maven Plugin Maven Mojo (javafx-maven-plugin) as well.
Below is an example POM based on a real POM in a current JavaFX app of mine.
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>work.basil.example</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>14</maven.compiler.source>
<maven.compiler.target>14</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>14.0.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>14</release>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.4</version>
<configuration>
<mainClass>work.basil.jartran.App</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
You can create your Maven-based project by using a Maven archetype provided by the OpenJFX project. The POM seen above will be automatically created for you. You may need to update the version numbers.