- Click to view our Accessibility Policy
- Skip to content
Installing the JavaFX SDK
The JavaFX Software Development Kit (SDK) provides the command-line tools and technologies to develop expressive content for applications deployed to browsers, desktops, and mobile devices.
- JavaFX Desktop runtime
- JavaFX Mobile Emulator and runtime (Windows only)
- JavaFX API documentation
- Samples
The JavaFX SDK runs on Windows and Mac OS X. A beta release of the JavaFX SDK is provided for Ubuntu Linux and the OpenSolaris operating systems.
Contents
System Requirements
The system requirements for the JavaFX SDK, including the recommended version of the Java SE Development Kit (JDK), are listed in the JavaFX System Requirements document.
Installing the JavaFX SDK on Windows or Mac
- Download the latest JavaFX SDK installer file for Windows (an EXE extension) or Mac OS X (a DMG extension).
- Download older versions of the JavaFX SDK installer from the Previous Releases download page.
- After the download is complete, double-click the EXE or DMG file to run the installer. On the Mac OS X platform, double-click the open-box icon that appears after you start the installer.
- Complete the steps in the installation wizard.
- Note the default installation location:
- For Windows. The default installation location is
C:\Program Files\JavaFX\javafx-sdk-
version. - For Mac OS X. The default installation directory is
/Library/Frameworks/JavaFX.framework/Versions/
version-number.
On Mac OS X, the installation procedure also creates the following directories:
/Library/Frameworks/JavaFX.framework/Versions/Current
/Library/JavaFX/Home
/usr/bin/javafx
/usr/bin/javafxc
/usr/bin/javafxdoc
/usr/bin/javafxpackager
For information about samples and documentation in the SDK, see the README file in the top level of the SDK directory.
Installing the JavaFX SDK on Ubuntu Linux or OpenSolaris
- Download and save the JavaFX shell script for the Linux or OpenSolaris operating system.
- Download older versions of the JavaFX SDK installer from the Previous Releases download page.
- Run the
.sh
file. For example: - Accept the license terms.
chmod a+x javafx_sdk-1_2-linux-i586.sh
./javafx_sdk-1_2-linux-i586.sh
The shell script installs the JavaFX SDK in the current directory.
For information about samples and documentation in the SDK, see the README file in the top level of the SDK directory.
More Information
- JavaFX Getting Started Guides and Tutorials
- JavaFX FAQs
Discussion
We welcome your participation in our community. Please keep your comments civil and on point. You can optionally provide your email address to be notified of replies your information is not used for any other purpose. By submitting a comment, you agree to these Terms of Use.
Since Java 11, JavaFX is not included in the JDK anymore. Here’s how to download it and set it up on both Windows & MacOS!
🐍👑🌍
Note: JDK version earlier than 11 will throw error Unrecognized option: --module-path
.
Make sure you have Java 11+ installed with java -version
:
MacOS
Prerequisites
Make sure you have Java 11+ installed with java -version
:
$ java -version
java version "11.0.7" 2020-04-14 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.7+8-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.7+8-LTS, mixed mode)
If you have a lower version, you may download the JDK 11 from https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
MacOS Java default installation path: /Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk
JavaFX download
- Get JavaFX 11 from https://gluonhq.com/download/javafx-11-0-2-sdk-mac, and unzip it into
~/java/javafx-sdk-11.0.2
. - Then, create an ENV var to store the JavaFX path
export PATH_TO_FX=/Users/me/java/javafx-sdk-11.0.2/lib
- Finally, run the HelloWorld JavaFX app from OpenJFX:
$ curl https://raw.githubusercontent.com/openjfx/samples/master/HelloFX/CLI/hellofx/HelloFX.java -o HelloFX.java $ javac --module-path $PATH_TO_FX --add-modules javafx.controls HelloFX.java $ java --module-path $PATH_TO_FX --add-modules javafx.controls HelloFX
Eclipse setup
- Open Eclipse,
Help
>Eclipse Marketplace
>e(fx)clipse
3.6.0
Eclipse
>Preferences
>User Libraries
>New
>"JavaFX"
>Add external JARs
> Add all JARs fromjavafx-sdk-11.0.2/lib
- Right click your project>
Build Path
>Add libraries
>JavaFX
Run
>Run Configurations
>Arguments
>VM Arguments
>--module-path /Users/me/java/javafx-sdk-11.0.2/lib --add-modules javafx.controls,javafx.fxml
NB: do not use $PATH_TO_FX
in Eclipse VM Arguments as it won’t work and will yield
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found
To display code in Disqus comment, use <pre><code>
tags. For example:
<pre><code class="python">a = 'b';</code></pre>
See Disqus Syntax highlighting for details.
Introduction
Install Java
Run HelloWorld using JavaFX
Run HelloWorld via Maven
Run HelloWorld via Gradle
- Runtime images
- Modular from CLI
- Modular with Maven
- Modular with Gradle
- Custom JDK+JavaFX image
- Non-Modular project
- JavaFX and IntelliJ
- Non-modular from IDE
- Non-modular with Maven
- Non-modular with Gradle
- Modular from IDE
- Modular with Maven
- Modular with Gradle
- JavaFX and NetBeans
- Non-modular from IDE
- Non-modular with Maven
- Non-modular with Gradle
- Modular from IDE
- Modular with Maven
- Modular with Gradle
- JavaFX and Eclipse
- Non-modular from IDE
- Non-modular with Maven
- Non-modular with Gradle
- Modular from IDE
- Modular with Maven
- Modular with Gradle
- JavaFX and Visual Studio Code
- Non-modular from IDE
- Non-modular with Maven
- Non-modular with Gradle
- Modular with Maven
- Modular with Gradle
Next Steps
Введение в Java FX
Что такое Java FX
Последнее обновление: 23.09.2021
JavaFX представляет инструментарий для создания кроссплатформенных графических приложений на платформе Java.
JavaFX позволяет создавать приложения с богатой насыщенной графикой благодаря использованию аппаратного ускорения графики и возможностей GPU.
С помощью JavaFX можно создавать программы для различных операционных систем: Windows, MacOS, Linux, Android, iOS и для самых различных устройств: десктопы,
смартфоны, планшеты, встроенные устройства, ТВ. Приложение на JavaFX будет работать везде, где установлена исполняемая среда Java (JRE).
JavaFX предоставляет большие возможности по сравнению с рядом других подобных платформ, в частности, по сравнению со Swing. Это и большой набор элементов управления,
и возможности по работе с мультимедиа, двухмерной и трехмерной графикой, декларативный способ описания интерфейса с помощью языка разметки FXML,
возможность стилизации интерфейса с помощью CSS, интеграция со Swing и многое другое.
История JavaFX фактически началась в первой половине 2000-х годов, когда разработчик по имени Крис Оливер (Chris Oliver), будучи работником
компании SeeBeyond, разработал для создания графических интерфейсов новый язык F3 (Froms Follows Functions). Впоследствии в 2005 году SeeBeyond была приобретена компанией Sun Microsystems (которая на тот момент развивала язык Java до покупки компанией
Oracle). F3 был переименован в JavaFX, а Крис Оливер продолжил работу над новой платформой уже в рамках компании Sun.
И в мае 2007 года Sun Microsystems публично анонсировала новую платформу для создания графических приложений. А 4 декабря 2008 года вышел JavaFX 1.0 SDK.
После приобретения Sun Microsystems компанией Oracle в 2010 году была анонсирована, а в 2011 году вышла в релиз версия JavaFX 2.0.
В первой версии JavaFX фактически представлял скиптовый язык. Во второй версии был полностью изменен подход. Скриптовый язык был убран, а платформа
была полностью переписана фактически с нуля. Теперь создавать приложения можно было с помощью любого языка, который поддерживала JVM. Были добавлены новые API, интеграция со Swing
и много других вещей.
Следующими важными вехами в развитии платформы стали версии JavaFX 8 и особенно JavaFX 9, которая вышла в сентябре 2017 года вместе с Java 9 и
привнесла в платформу модульность. И если раньше JavaFX поставлялась вместе с Java SE, то сейчас JavaFX отделена от основной функциональности Java SE и
используется как отдельный модуль. Последняя версия фреймворка — JavaFX 17 — вышла в сентябре 2021 года.
На данный момент JavaFX представляет предпочтительный способ для создания графических приложений с помощью языка Java, который пришел на смену AWT и Swing.
Также стоит отметить, что для работы с JavaFX вместо Java теоретически можно использовать любой язык программирования, который поддерживается JVM.
Установка инструментария
Что необходимо для работы с JavaFX? Прежде всего необходимо установить последнюю версию JDK с официального сайта Oracle:
https://www.oracle.com/java/technologies/downloads/.
Стоит учитывать, что версия JDK для работы с JavaFX должна быть от 11 и выше.
JavaFX SDK
Также необходимо загрузить последнюю версию JavaFX SDK с адреса https://gluonhq.com/products/javafx/.
На данной странице можно выбрать дистрибутивы для различных систем и архитектур. Например, если 64-х разрядная OC Windows, то соответственно надо загрузить JavaFX Windows x64 SDK.
По сути SDK представляет архив с файлами, и после его загрузки его необходимо распаковать в любое предпочтительное место на жестком диске. Например, в моем случае SDK распакован в папку C:\javafx-sdk-17.0.0.1.
Модули JavaFX
Если мы откроем папку lib в распакованном SDK, то мы увидим там модули, которые собственно и
представляют JavaFX.
При написании кода приложений, а также при их компиляции и запуске мы будем использовать эти модули. Что они делают:
-
javafx.base: определяет базовый функционал фреймворка, в частности, функциональность привязки, свойств, коллекций, событий и т.д.
-
javafx.controls: определяет элементы управления, диаграммы и скины.
-
javafx.fxml: определяет функционал для работы с FXML.
-
javafx.graphics: определяет функциональность окон и контейнеров компоновки, жизненного цикла приложения,
возможности рисования, пользовательского ввода, анимации, css и т.д. -
javafx.media: определяет функционал для работы с мультимедиа.
-
javafx.swing: определяет интерфейс для взаимодействия и внедрения элементов Swing в приложении JavaFX.
-
javafx.web: определяет функционал WebView.
-
javafx-swt: модуль для взаимодействия с SWT.
I was trying some instructions I found on the internet, but they are too old to be of use now with the latest Eclipse IDE release.
The code I am trying to run:
package javafxbasics;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.FlowPane;
import javafx.stage.Stage;
public class ShowFlowPane extends Application
{
@Override // Override the start method in the Application class
public void start(Stage primaryStage) {
// Create a pane and set its properties
FlowPane pane = new FlowPane();
pane.setPadding(new Insets(11, 12, 13, 14));
pane.setHgap(5);
pane.setVgap(5);
// Place nodes in the pane
pane.getChildren().addAll(new Label("First Name:"),
new TextField(), new Label("MI:"));
TextField tfMi = new TextField();
tfMi.setPrefColumnCount(3);
pane.getChildren().addAll(tfMi, new Label("Last Name:"),
new TextField());
// Create a scene and place it in the stage
Scene = new Scene(pane, 200, 250);
primaryStage.setTitle("ShowFlowPane in Java FX"); // Set the stage title
primaryStage.setScene(scene); // Place the scene in the stage
primaryStage.show(); // Display the stage
}
/**
* The main method is only needed for the IDE with limited
* JavaFX support. Not needed for running from the command line.
*/
public static void main(String[] args) {
launch(args);
}
}
Error: Unable to initialize main class javafxbasics.ShowFlowPane in module JavaFXproject
Caused by: java.lang.NoClassDefFoundError: Stage
kleopatra
51.1k28 gold badges99 silver badges211 bronze badges
asked Nov 3, 2020 at 12:19
2
Finally found a video how to do that: How to Set Up JavaFX to work in Eclipse 2020 version
That guy is a superhero. A couple of points:
-
when you download and unzip the latest JavaFX SDK for Windows release from https://gluonhq.com/products/javafx/, copy the location of that folder on your hard drive, you will need it to set up the path to the lib folder inside that package.
-
Here is the code which you will need to paste for the path:
—module-path «your path to \javafx-sdk-15.0.1\lib» —add-modules javafx.controls,javafx.fxml
As of 03/11/2020 solution works with Eclipse Version: 2020-09 (4.17.0)
Build id: 20200910-1200 and javafx-sdk-15.0.1
answered Nov 4, 2020 at 2:35
Alan ShoreAlan Shore
1031 silver badge9 bronze badges
2
I would recommend using a build tool like maven or gradle. Those tools are usefull to manage dependencies like javafx in your case.
Overwise, you can follow instructions here for Eclipse: https://openjfx.io/openjfx-docs/ (link has instructions also for maven and Gradle).
answered Nov 3, 2020 at 12:31
PryganPrygan
951 silver badge9 bronze badges
4
This works for me using this shorter version of YouTube as of 2021.
1 Install JavaFX from Eclipse MarketPlace
2 Download and install JavaFx
3 In Eclipse, add User Library to point to the folder path of JavaFx in step 2
answered Dec 19, 2021 at 13:44
PingpongPingpong
7,73121 gold badges84 silver badges209 bronze badges