A collection of demos for JavaFX. These demos showcase some of the best open source third-party libraries available for JavaFX that can run on Java 11 and JavaFX 17. The demos can be built as a modular application, a custom moular runtime with JLink, a non-modular fat executable jar, or as a non-modular native application using GraalVM Native Image.
Demo Name | Library | License | Description |
---|---|---|---|
animatefx-demo | AnimateFX | Apache-2.0 | A library of +70 ready-to-use animations for JavaFX |
calendarfx-demo | CalendarFX | Apache-2.0 | A Java framework for creating sophisticated calendar views |
charts-demo | Charts | Apache-2.0 | A JavaFX library that contains different kind of charts |
controlsfx-demo | ControlsFX | BSD | High quality UI controls to complement the core JavaFX distribution |
desktoppanefx-demo | DesktopPaneFX | Apache-2.0 | MDI components for JavaFX |
formsfx-demo | FormsFX | Apache-2.0 | A framework for easily creating forms for a JavaFX UI |
fx-borderlessscene-demo | FX-BorderlessScene | Apache-2.0 | Undecorated JavaFX Scene with move, resize, minimise, maximise, and close controls |
gemsfx-demo | GemsFX | Apache-2.0 | A collection of JavaFX controls and utilities |
ikonli-demo | Ikonli | Apache-2.0 | Icon packs for Java applications |
jmetro-demo | JMetro | Apache-2.0 | A theme / look and feel for JavaFX inspired by Microsoft's Fluent Design |
medusa-demo | Medusa | Apache-2.0 | A JavaFX library for Gauges |
miglayout-demo | MigLayout | BSD | Layout Manager for Swing, SWT and JavaFX |
pdfviewfx-demo | PDFViewFX | Apache-2.0 | A PDF view for JavaFX applications |
preferencesfx-demo | PreferencesFX | Apache-2.0 | A framework for easily creating a UI for application settings / preferences |
richtextfx-demo | RichTextFX | BSD | Rich-text area for JavaFX |
systemtray-demo | SystemTray | Apache-2.0 | Cross-platform SystemTray |
tilesfx-demo | TilesFX | Apache-2.0 | A JavaFX library containing tiles that can be used for dashboards |
tiwulfx-dock-demo | TiwulFX-Dock | MIT | TiwulFX-Dock provides enhanced JavaFX TabPane that supports tab reordering, detaching and docking |
undofx-demo | UndoFX | BSD | Undo manager for JavaFX |
workbenchfx-demo | WorkbenchFX | Apache-2.0 | A lightweight RCP framework for JavaFX applications |
- OpenJDK 11+
- GraalVM for Java 11+ version 22+ (Need set your GRAALVM_HOME and add the Graalvm 'lib' folder to your LD_LIBRARY_PATH)
- Linux GCC Toolchain
sudo apt-get install build-essential libz-dev libgtk-3-dev libxtst-dev libavcodec-dev libavformat-dev libavutil-dev
- VC++ Build Tools Workload for VS2017
choco install visualstudio2017-workload-vctools
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
- macOS: Xcode Command Line Tools
xcode-select --install
./mvnw -pl <demo name> -Popenjfx clean compile package
./mvnw -pl <demo name> -Popenjfx javafx:run
./mvnw -pl <demo name> -Popenjfx javafx:jlink
./mvnw -pl <demo name> -Popenjfx exec:exec@run-jlink
OR
<demo name>/target/image/bin/<demo name>
OR
<demo name>/target/image/bin/java -m com.micronarts.jfxdemos/com.micronarts.jfxdemos.DemoLauncher
./mvnw -pl <demo name> -Pjpms clean compile package
./mvnw -pl <demo name> -Pjpms exec:exec@run-jpms
OR
java @<demo name>/target/modulepath -m com.micronarts.jfxdemos/com.micronarts.jfxdemos.DemoLauncher
./mvnw -pl <demo name> -Pfatjar clean compile package
./mvnw -pl <demo name> -Pfatjar exec:exec@run-fatjar
OR
java -jar <demo name>/target/<demo name>-1.0.0-SNAPSHOT-all.jar
./mvnw -pl <demo name> -Pnative -Dagent=true clean compile exec:exec@java-agent
./mvnw -pl <demo name> -Pnative -Dagent=true package
./mvnw -pl <demo name> -Pnative exec:exec@run-native
OR
<demo name>/target/<demo name>
./gradlew <demo name>:clean <demo name>:compileJava <demo name>:build
./gradlew <demo name>:run
./gradlew <demo name>:jlink
./gradlew <demo name>:runJlink
OR
<demo name>/build/image/bin/<demo name>
OR
<demo name>/build/image/bin/java -m com.micronarts.jfxdemos/com.micronarts.jfxdemos.DemoLauncher
./gradlew <demo name>:build
./gradlew <demo name>:runJPMS
./gradlew <demo name>:shadowJar
./gradlew <demo name>:runFatJar
OR
java -jar <demo name>/build/libs/<demo name>-1.0.0-SNAPSHOT-all.jar
./gradlew <demo name>:runAgent -Pagent
./gradlew <demo name>:nativeCompile -Pagent
./gradlew <demo name>:runNative
OR
<demo name>/build/native/nativeCompile/<demo name>