A curated list of awesome JavaFX libraries, books, frameworks, etc...
Switch branches/tags
Nothing to show
Clone or download
mhrimaz Merge pull request #59 from martinfrancois/patch-1
Add PreferencesFX and WorkbenchFX
Latest commit 106ca54 Sep 16, 2018
Permalink
Failed to load latest commit information.
CONTRIBUTING.md [Add] Contributing file Mar 28, 2017
LICENSE Change Licence Mar 29, 2017
README.md add workbenchfx Sep 16, 2018

README.md

Awesome JavaFX Awesome

A curated list of awesome JavaFX frameworks, libraries, books etc... .


Contents


Libraries, Tools and Projects

  • Advanced-Bindings for JavaFX (8) - advanced-bindings is a collection of useful helpers and custom binding implementations like java.lang.Math or Switch-Case as JavaFX binding.
  • assertj-javafx - AssertJ assertions for JavaFX Properties and Bindings.
  • AnchorFX - Docking framework for JavaFX platform.
  • AnimateFX - A JavaFX library containing ready-to-use animations.
  • BootstrapFX - BootstrapFX is a partial port of Twitter Bootstrap for JavaFX.
  • CalendarFX - CalendarFX is a calendar framework for JavaFX 8. It contains a set of professional custom controls, which can be used to implement a calendar UI for any kind of application.
  • ControlsFX - ControlsFX is an open source project for JavaFX that aims to provide really high quality UI controls and other tools to complement the core JavaFX distribution.
  • CssFX - Enhances developper productivity by providing JavaFX CSS reloading functionnality in a running application. Usable as standalone library or integrated in Scenic View.
  • CustomStage - CustomStage is a fully customizable Undecorated JavaFX stage (window) with amazing features.
  • DesktopPaneFX - MDI components for JavaFX. Think JDesktopPane/JInternalFrame for JavaFX.
  • e(fx)clipse - JavaFX Tooling and Runtime for Eclipse and OSGi
  • FlexBoxFX - FlexBoxFX is a JavaFX implementation of CSS3 flexbox layout manager.
  • FlexGanttFX - FlexGanttFX is the most advanced JavaFX-based Gantt charting framework currently available for Java.
  • Flowless - Efficient VirtualFlow for JavaFX.
  • FontAwesomeFX - FontAwesome in JavaFX with FontAwesomeFX
  • FX-BorderlessScene - Undecorated JavaFX Scene with implemented move, resize, minimise, maximise, close and Windows Aero Snap controls.
  • FXForm2 - A library providing automatic JavaFX form generation. The generated form is highly configurable and skinnable using code, annotations and CSS styling. FXForm2 is compatible with the JSR 303 for bean validation.
  • FXGraphics2D - A library that provides a Graphics2D API for drawing on the JavaFX Canvas so that existing Java2D code can be reused easily. This library was created to provide JavaFX support for JFreeChart.
  • FXParallax - Parallax framework for Java (JavaFX).
  • FXRibbon - Microsoft like Ribbon control for Java (JavaFX).
  • FXValidation - Validation support for Java (JavaFX).
  • FXyz - F(X)yz is a new JavaFX 3D library that provides additional primitives, composite objects, controls and data visualizations that the base JavaFX 8 3D packages do not have.
  • GestureFX - A lightweight pinch-to-zoom pane for JavaFX
  • Gluon Maps - Gluon Maps is built with high performance in mind, but that doesn’t mean functionality is missing. Gluon Maps offers layer overlays, multiple tilesets, and much more.
  • Gluon Scene Builder - Scene Builder works with the JavaFX ecosystem – official controls, community projects, and Gluon offerings including Gluon Mobile, Gluon Desktop, and Gluon CloudLink.
  • GMapFX - GMapsFX provides a wrapper to the Google Map's Javascript API, allowing you to use and interact with maps using a pure Java API.
  • Grid - A Component for grid based games like sudoku or chess.
  • Ikonli - Ikonli provides icon packs that can be used in Java applications. Currently Swing and JavaFX UI toolkits are supported.
  • JavaFX DataViewer - JavaFX Charts library. Create Charts in JavaFX using the plotly.js library.
  • javafx-d3 - javafx-d3 provides a Java API for using the JavaScript library d3.js with JavaFx Applications.
  • JavaFXPorts - JavaFXPorts is the open source project that brings Java and JavaFX to mobile and embedded hardware, including iPhone, iPad, Android devices, and the Raspberry Pi.
  • JCSG - Java implementation of BSP based CSG (Constructive Solid Geometry)
  • JFoenix - JavaFX Material Design Library. JFoenix is an open source Java library, that implements Google Material Design using Java components.
  • JFXScad - JavaFX 3D Printing IDE based on JCSG.
  • JFXtras - A supporting library for JavaFX, containing helper classes, extended layouts, controls and other interesting widgets.
  • JideFX- JideFX Common Layer is a collection of various extensions and utilities for to JavaFX platform. The JideFX Common Layer is the equivalent to the JIDE Common Layer in the JIDE components for Swing.
  • JMetro - Modern theme (or look and feel) for JavaFX inspired by Microsoft Metro / Fluent Design System. It is used for instance in NASA's app: Deep Space Trajectory Explorer.
  • jpro - JavaFX for the Browser. jpro is a new technology which brings Java back into the browser - without Java Plugin.
  • JSilhouette - JSilhouette provides additional shapes for Java applications.
  • Kubed - A port of the popular Javascript library D3.js to Kotlin/JavaFX.
  • Lib-Tile - Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE 8.0.2 and provides the functionalities to use and handle easily Tiles in your JavaFX application.
  • LiveDirsFX - Directory tree model for JavaFX that watches the filesystem for changes.
  • Medusa - A JavaFX library for Gauges. The main focus of this project is to provide Gauges that can be configured in multiple ways.
  • NetBeansIDE-AfterburnerFX-Plugin - The NetBeansIDE-AfterburnerFX-Plugin is a NetBeans IDE plugin which supports the file generation in convention with the library afterburner.fx in a JavaFX project.
  • MigPane - MigLayout can produce flowing, grid based, absolute (with links), grouped and docking layouts.
  • Orson Charts - An interactive 3D chart library for JavaFX and Swing.
  • PreferencesFX - A library to easily create a UI for application settings / preferences.
  • Scenic View - Scenic View is a JavaFX application designed to make it simple to understand the current state of your application scenegraph, and to also easily manipulate properties of the scenegraph without having to keep editing your code. This lets you find bugs, and get things pixel perfect without having to do the compile-check-compile dance.
  • SmartCSVFX - A simple JavaFX application to load, save and edit a CSV file and provide a JSON configuration for columns to check the values in the columns.
  • SynchronizeFX - Remote Data-Binding between different JVMs, both on a local machine and over the network.
  • SyntheticaFX - SyntheticaFX provides themes and components mainly made for professional business applications on the desktop. The library is growing, new controls are under construction and will be added in future releases. The target platform of the final release is Java 9 or above.
  • ReactorFX - ReactorFX integrates Project Reactor and JavaFX by providing a simple API to create reactive Flux from JavaFX Controls, Dialogs, Observables, and Collections.
  • ReactFX - Reactive event streams, observable values and more for JavaFX.
  • redux-javafx-devtool - A developer-tool for ReduxFX. Visualizes the state and actions of the app. Enables time-traveling.
  • RichTextFX - Rich-text area for JavaFX.
  • RxJavaFX: JavaFX bindings for RxJava - RxJavaFX is a simple API to convert JavaFX events into RxJava Observables and vice versa. It also has a scheduler to safely move emissions to the JavaFX Event Dispatch Thread.
  • TestFX - Simple and clean testing for JavaFX.
  • TestFX-dsl - Java friendly DSL for defining TestFX tests.
  • TuioFX - Toolkit for developing multi-touch, multi-user interactive tabletops and surfaces.
  • Toggle Switch - Toggle Switch control for Java (JavaFX)
  • UndoFX - Undo manager for JavaFX.
  • WellBehavedFX - Composable event handlers and skin scaffolding for JavaFX controls.
  • VWorkflows - Interactive flow/graph visualization for building domain specific visual programming environments. Provides UI bindings for JavaFX.
  • TilesFX - A JavaFX library containing tiles for Dashboards.
  • Undecorator - Decorate undecorated JavaFX stages with custom skin. This helper brings a custom look to your JavaFX stages.

Frameworks

  • afterburner.fx - afterburner.fx is a minimalistic (3 classes) JavaFX MVP framework based on Convention over Configuration and Dependency Injection.
  • APX - A JavaFX Library for Creating and Implementing MVC Type applications
  • Basilisk - Desktop/Mobile JavaFX application framework. Apache License V2
  • DataFX - DataFX is a JavaFX frameworks that provides additional features to create MVC based applications in JavaFX by providing routing and a context for CDI.
  • Dolphin Platform - Dolphin Platform is a client / server frameworks that provides a async communication between a server and a client based on the remote presentation model pattern
  • EasyBind - EasyBind leverages lambdas to reduce boilerplate when creating custom bindings.
  • EasyFXML - EasyFXML is a fully-featured opinionated JavaFX framework based on Vavr and Spring Boot which manages most of the annoying boilerplate that comes with JavaFX. Apache License V2
  • FXGL - JavaFX Game Development Framework
  • Griffon - Next generation desktop application development platform for the JVM. Apache License V2
  • JacpFX - An UI application framework based on JavaFX
  • JRebirth - JRebirth JavaFX Application Framework provides a really simple way to write sophisticated and powerful RIA and Desktop applications.
  • mvvmFX - mvvm(fx) is an application framework which provides you necessary components to implement the MVVM pattern with JavaFX. Apache License V2
  • ReduxFX - Functional Reactive Programming (FRP) for JavaFX inspired by the JavaScript library Redux.js
  • ScalaFX - simplifies creation of JavaFX-based user interfaces in Scala
  • TornadoFX - Lightweight JavaFX Framework for Kotlin
  • WorkbenchFX - A lightweight RCP framework for JavaFX applications.

Books

Blogs and Sites

People

These people share good stuff on their twitter accounts. Some of them are Legends, Champions and Rockstars. Follow them on Twitter. Descriptions from Twitter.

  • Andres Almiray - JSR377 Spec lead, Groovy aficionado, Griffon project lead, Basilisk project lead, Java Champion http://manning.com/almiray.
  • Alessio Vinerbi - Java and JavaFX Senior software engineer.
  • Alexander Casall - interested in JavaFX, iOS, Angular2 development and product ownership.
  • Andreas Billmann - Java and JavaFX developer.
  • Arnaud Nouard - Play JavaFX, Drums, Keyboard (those with black and white keys!) and with my Kids.
  • Bernard Traversat - Java Language, JVM, JavaScript, JDK, JavaFX, Swing/AWT - Sr. Eng Director, Java Platform Group, Oracle.
  • Bertrand Goetzmann - Java EE architect, fan of Groovy/Grails (trainer), JavaFX, Drupal and Ionic... .
  • Carl Dea - Book Author, Blogger, a wannabe GUI guy, JavaFX enthusiast, mobile phones, AI.( He is a Legend!)
  • Christian Campo - Committer in multiple Eclipse projects, interested in JavaFX and Cloud Storage.
  • Danno Ferrin - Java, JavaFX, Gradle, Groovy, Co-founded Griffon.
  • David Grieve - Member of the JavaFX development team at Oracle. Primarily responsible for JavaFX's CSS implementation.
  • Dean Iverson - JavaFX Author.
  • Delorme Loïc - Junior Java SE/EE developer, UI and mobile application lover (JavaFX, #GluonHQ).
  • Dirk Lemmermann - Senior Java SE / EE software engineer. UI Lover (Swing, JavaFX).
  • Felix - Software Developer in Android,Java,JavaFx, Opendata junkie & IOT(Raspberry Pi).
  • Gerrit Grunwald - JUG Leader, Java Champion, JavaONE Rockstar, ❤️ Java(FX) and IoT, may the force be with you... (He is a Legend!)
  • Hendrik Ebbers - JUG Dortmund Lead, Java Champion, JavaOne Rockstar, JavaFX book author, JSR EG member
  • James Weaver - Java/JavaFX/IoT developer, author and speaker.
  • Jasper Potts - Developer on the JavaFX & Swing teams at Oracle. Working on the new JavaFX Applications, JavaFX UI Controls and Graphics frameworks.
  • Jeanette Winzenburg - Java desktop consultant: old-time Swing/X enthusiast, grudging adopter of JavaFX.
  • Jens Deters - JavaFX, MQTT_fx leader, FontAwesomeFX leader, IoT, docker, dcos, NetBeans Dream Team.
  • Johan Vos - Java developer, Java Champion, co-founder at Gluon, CTO at LodgON, Using JavaFX and Glassfish, working on Gluon, Java EE, DataFX,... . (He is a Legend!)
  • Jonathan Giles - UI Controls technical lead in JavaFX team @ Oracle.
  • José Pereda - PhD, Structural Engineer, love coding, Java & JavaFX, JavaFXPorts, mobile apps, IoT. Software Engineer at http://gluonhq.com/ (He is a Legend!)
  • Mark Heckler - Developer Advocate for Pivotal.io. Computer scientist and JavaFX author.
  • Michael Heinrichs - Java, Web, JavaFX developer. Interested in agile development and public speaking.
  • Michael Hoffer - Computer Scientist, Mathematician, Software Developer, Artist. (He is a Legend!)
  • Mohamed Taman - JCP, Java Champions, Hacker, Speaks Java, Enterprise Architect & Software Development Sr. Manager, Mobile/ Web Architect,international speaker, IoT Geek, Author.
  • Pedro Duque Vieira - JavaFX and Swing Freelancer and Consultant or more generally a Front End Freelancer, Consultant and Software Designer specialized in user interfaces, contributor to open source. Owner of Pixel Duke a JavaFX, Swing and Front End consultancy company.
  • Peter Pilgrim - Java EE, JavaFX and Scala software developer.
  • Peter Rogge - Java, Java EE, JavaFX, NetBeans, NetBeans RCP, Creativity, Inspiration, Motivation.
  • Sean Phillips - NASA contractor. JavaFX, NetBeans Platform. Develops Deep Space Trajectory Design tools and also JavaFX author.
  • Stephen Chin - JavaFX evangelist, author, speaker, and open-source hacker.
  • Thierry Wasylczenko - Java, JavaFX, Agile, Speaker, RebelLabs author, SlideshowFX leader.
  • Tobias Bley - Software Developer & graphic designer skills: java, jpro, JavaFX, Swing, JNI, JavaEE... .
  • Tom Schindl - Eclipse Committer, e(fx)clipse project lead and CTO at BestSolution.at
  • Weiqi Gao - JavaFX Author
  • William Antônio - JBoss Support Enginner and JavaFX enthusiast. Java* Blogger.

Tutorials

Good online resources including free and paid courses to learn JavaFX.

  • Building Your First JavaFX Application - This course will provide you with a quick introduction to basic JavaFX features and help you build your first JavaFX Application.
  • code.makery - Multiple Language Online Site with a great materials and examples to teach you JavaFX.
  • JavaFXTutorials - Online Materials and Examples for learning JavaFX.
  • JavaFXTuts - Complete javafx tutorials for beginners with a lot of examples.
  • Jenkov JavaFX - Jenkov JavaFX Toturials and Articles with good examples to demonstrate you how you can use JavaFX Features.
  • Lynda JavaFX GUI Development - Learn how to develop graphical user interfaces (GUIs) for enterprise apps with JavaFX.
  • TeamTreeHouse Build a JavaFX Application - Learn JavaFX fundamentals , Event driven application development and Client based application layout.
  • TheNewBoston JavaFX - Youtube JavaFX Video Toturial. It's Simple and it's good place to start JavaFX.
  • Udemy Build Outstanding JavaFX - Udemy Video Toturial for JavaFX. Build Outstanding Java Apps with JavaFX much faster Launch a beautiful Java app by the end of the week. Learn smarter Programming with the JavaFX GUI Framework.

Talks

Interesting talks in conferences like JavaOne, Devoxx and others

  • Creating Amazing Visualization Tools With JavaFX 8 (3D) - By Michael Hoffer
    Screencast that covers most topics from JavaOne 2013 Tutorial TUT6705: http://mihosoft.eu/?p=928
    JavaFX is a powerful rich-client platform that is ideal for complex visualizations. In this tutorial, you will learn how to create amazing 2-D and 3-D visualization tools such as an interactive function plotter with Java 8 and JavaFX 8. For 2-D plotting, you will learn how to use the powerful charting API that comes with JavaFX. In addition, you will find out how to load 3-D geometries from text files (and a subset of .obj), render movies from JavaFX 3D via its snapshot functionality, and use the ray picking API for retrieving detailed information on parts of 3-D visualizations. To create nice-looking applications, the tutorial utilizes open source controls from the JFXtras project (jfxtras.org).
  • DataFX: The Best Way to Get Real-World Data into Your JavaFX Application - by Hendrik Ebbers and Johan Vos
    The real value in most client-oriented business applications is the data sitting on remote servers and cloud systems. Unfortunately, retrieving and displaying this data is an exercise left to the developer, and it must be done (correctly!) before end users can interact with it. Fortunately, the open source DataFX framework aims to simplify this by enabling JavaFX developers to easily retrieve data from a variety of sources in several formats and rapidly integrate it with JavaFX components (such as TableView), using typical JavaFX patterns. This session introduces the free and open source DataFX project, gives practical advice for using it, and provides insight into future plans for this project.
  • DataFX: From External Data to a UI Flow and Back - by Hendrik Ebbers and Johan Vos
    The open source project DataFX 8 builds on the core principle of DataFX 2: make it easy for JavaFX developers to retrieve external data (using REST calls, database systems, or custom methods) and visualize this data in JavaFX controls. Using DataFX, you can populate UI controls by using the most-common protocols, including REST, SSE, or WebSocket. Apart from retrieving data, the Flow component in DataFX enables developers to describe different flows between UI components and to inject data models into the flows. This session shows how the different DataFX components make it easy to manage external data by using well-known Java technologies.
  • Enterprise JavaFX - by Hendrik Ebbers
    The talks shows several APIs and technologies that usefull to create JavaFX applications that communicate with a server
  • Java on Mobile is a thing... and it's really good! - by Johan Vos
    In this session, we show how to use your favourite IDE to write a Java Client application, and how to use that same IDE to create native applications that can be uploaded to the different appstores. These native applications use exactly the same code as a Java desktop application. We talk about the status of JavaFX on Mobile, and about the options for running Java code on mobile devices (e.g. Dalvik/ART, RoboVM AOT, OpenJDK with the Mobile OpenJDK project).
  • Let’s Get Wet! AquaFX and Best Practices for Skinning JavaFX Controls - by Hendrik Ebbers and Claudine Zillmann
    JavaFX offers a wide range of default controls for creating cool and great applications, from business to entertainment use cases. Because JavaFX is a multiplatform UI framework that can be used mainly on desktop-based platforms and embedded devices, a cross-platform skin named Caspian is provided by JavaFX. As of Java 8, Modena will be a official second cross-platform skin for JavaFX, but some applications and developers have a definite need for native or custom skins for their controls and applications. This session points out how to create custom skins for JavaFX controls. You will learn that with AquaFX, this custom skin can even feel like a native one.
  • Test-Driven Development with JavaFX - by Hendrik Ebbers and Sven Ruppert
    This session presents existing testing tools and frameworks in their current stage of development. It compares the capabilities and the kinds of impacts of existing projects. The presentation pays particular attention to questions such as How can a cross-platform GUI test be created?’With many legacy (Java Swing–based) applications in need of migrating to the new JavaFX 8 platform, it is imperative for GUI code to be testable. The industry needs better strategies and tools for efficient migration from Swing to JavaFX 8.
  • The JavaFX Community and Ecosystem - by Hendrik Ebbers and Alexander Casall
    Do you want to start working with JavaFX but don’t know where you can find all the cool tutorials and open source APIs? This session is the perfect place to be! Leading up to the Java 8 release, a huge ecosystem with a lot of good tutorials and open source frameworks surrounds JavaFX. The community is getting bigger and bigger. The presentation introduces some of the most important parts of the JavaFX ecosystem such as third-party frameworks and popular knowledgebases and illustrates the functionality and synergy effects between the libraries with a live coding session. The session ends with real-world applications demonstrating the techniques and APIs discussed earlier.

Slides

Useful slides from Slideshare

Articles

Interesting Articles about JavaFX

  • Building a JavaFX Search Bar - How to add a search bar to your JavaFX user interface. The article is based on a real application and includes links to all of the source code.
  • Dependency Injection in JavaFX - A guide to implementing Dependency Injection in a JavaFX application.
  • How JavaFX was used to build a desktop application - A look at some of the features of JavaFX and how they were used in building an application. The article includes links to all of the source code on GitHub.
  • JavaFX 8 Refcard - Gives you what you need to start using the powerful JavaFX 8 UI and graphics tool with code snippets and visual examples of shapes and controls.
  • JavaFX Refcard - Gets you started with JavaFX, which makes it easier to build better RIAs with graphics, animation, and media.
  • User Interface Testing with TestFX - A guide to using TestFX to automate JavaFX user interface testing.

Real World Examples

Real World Examples of JavaFX and Applications

  • 20 real world examples on JAXenter
  • AsciidocFX - Asciidoc FX is a book/document editor to build PDF, Epub, Mobi and HTML books, documents and slides. AsciidocFX is also a winner of Duke’s Choice Award 2015.
  • Deep Space Trajectory Explorer - This is an application used by NASA. This tool allows a trajectory designer to identify, compare and export deep space 3 body system trajectories.
  • Everest - Everest (formerly RESTaurant) is an upcoming REST API testing client written in JavaFX. Looks like Postman but writen in Java.
  • FXDesktopSearch - FXDesktopSearch is a Java and JavaFX based Desktop Search Application. It crawls a configured set of directories and allows you to do fulltext search with different languages support on the content.
  • JStackFX - It is not an easy task to analyse thread dumps as files generated by the jstack tool provides raw text files. JStackFX will help you to do that with a nice FX GUI.
  • Modellus - Modellus is a freely available Swing and JavaFX app. It was the first application to integrate both Swing and JavaFX together in a single app (back then using a custom made solution - JXScene - not available at the time). It is used all over the world, specially in High School and Universities, and has appeared in several published scientific papers. Samples range from Physics to Mathematics, going through Mechanics, Chemistry, Statistics, Algebra, Geometry, among others.
  • Musicott - Musicott is an application that manages and plays music files. Coded in Java 8 with JavaFX.
  • PDFsam Basic - PDFsam Basic is an opensource JavaFX application to merge, split, extract pages, rotate and mix PDF files.
  • SkedPal - SkedPal™ combines the best elements of creativity and structure to optimize your time and productivity.
  • VocabHunter - VocabHunter is a system to help learners of foreign languages.
  • XR3Player - XR3Player is an opensource Java/JavaFX Media Player, WebBrowser, Media File Organizer, aiming to be something more than a Media Player.

Contribute

Contributions are always welcome!