/AwesomeJavaFX

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

OtherNOASSERTION

Awesome JavaFX Awesome

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


Contents


Libraries, Tools and Projects

  • JFoenix - JavaFX Material Design Library. JFoenix is an open source Java library, that implements Google Material Design using Java components.
  • 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.
  • FlexGanttFX - FlexGanttFX is the most advanced JavaFX-based Gantt charting framework currently available for Java.
  • 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.
  • Medusa - A JavaFX library for Gauges. The main focus of this project is to provide Gauges that can be configured in multiple ways.
  • JFXtras - A supporting library for JavaFX, containing helper classes, extended layouts, controls and other interesting widgets.
  • 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.
  • 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.
  • 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.
  • e(fx)clipse - JavaFX Tooling and Runtime for Eclipse and OSGi
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • FontAwesomeFX - FontAwesome in JavaFX with FontAwesomeFX
  • Ikonli - Ikonli provides icon packs that can be used in Java applications. Currently Swing and JavaFX UI toolkits are supported.
  • BootstrapFX - BootstrapFX is a partial port of Twitter Bootstrap for JavaFX.
  • TestFX - Simple and clean testing for JavaFX.
  • TestFX-dsl - Java friendly DSL for defining TestFX tests.
  • RichTextFX - Rich-text area for JavaFX.
  • Flowless - Efficient VirtualFlow for JavaFX.
  • UndoFX - Undo manager for JavaFX.
  • WellBehavedFX - Composable event handlers and skin scaffolding for JavaFX controls.
  • LiveDirsFX - Directory tree model for JavaFX that watches the filesystem for changes.
  • ReactFX - Reactive event streams, observable values and more for JavaFX.
  • AnchorFX - Docking framework for JavaFX platform.
  • MigPane - MigLayout can produce flowing, grid based, absolute (with links), grouped and docking layouts.
  • VWorkflows - Interactive flow/graph visualization for building domain specific visual programming environments. Provides UI bindings for JavaFX.
  • 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.
  • 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.
  • JSilhouette - JSilhouette provides additional shapes for Java applications.
  • SynchronizeFX - Remote Data-Binding between different JVMs, both on a local machine and over the network.
  • Advanced-Bindings - Collection of custom bindings like java.lang.Math or Switch-Case as JavaFX binding.
  • assertj-javafx - AssertJ assertions for JavaFX Properties and Bindings.
  • Grid - A Component for grid based games like sudoku or chess.
  • TuioFX - Toolkit for developing multi-touch, multi-user interactive tabletops and surfaces.
  • Advanced-Bindings for JavaFX (8) - advanced-bindings is a collection of useful helpers and custom binding implementations to simplify the development of applications that are heavily based on JavaFX's Properties and Bindings.
  • 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.
  • Orson Charts - An interactive 3D chart library for JavaFX and Swing.
  • JCSG - Java implementation of BSP based CSG (Constructive Solid Geometry)
  • JFXScad - JavaFX 3D Printing IDE based on JCSG.
  • TilesFX - A JavaFX library containing tiles for Dashboards.
  • 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.
  • Undecorator - Decorate undecorated JavaFX stages with custom skin. This helper brings a nustom look to your JavaFX stages.
  • FlexBoxFX - FlexBoxFX is a JavaFX implementation of CSS3 flexbox layout manager.
  • CssFX - Enhances developper productivity by providing JavaFX CSS reloading functionnality in a running application. Usable as standalone library or integrated in Scenic View.
  • GestureFX - A lightweight pinch-to-zoom pane for JavaFX

Frameworks

  • 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
  • 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.
  • TornadoFX - Lightweight JavaFX Framework for Kotlin
  • FXGL - JavaFX Game Development Framework
  • afterburner.fx - afterburner.fx is a minimalistic (3 classes) JavaFX MVP framework based on Convention over Configuration and Dependency Injection.
  • 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
  • Griffon - Next generation desktop application development platform for the JVM. Apache License V2
  • Basilisk - Desktop/Mobile JavaFX application framework. Apache License V2
  • JacpFX - An UI application framework based on JavaFX
  • ScalaFX - simplifies creation of JavaFX-based user interfaces in Scala
  • APX - A JavaFX Library for Creating and Implementing MVC Type applications
  • EasyBind - EasyBind leverages lambdas to reduce boilerplate when creating custom bindings.

Books

  • JavaFX 8: Introduction by Example - by Carl Dea , Mark Heckler , Gerrit Grunwald , José Pereda , Sean Phillips
    JavaFX 8: Introduction by Example shows you how to use your existing Java skills to create graphically exciting client applications with the JavaFX 8 platform. The book is a new and much improved edition of JavaFX 2.0: Introduction by Example, taking you through a series of engaging, fun-to-work examples that bring you up to speed on the major facets of the platform. It will help you to create applications that look good, are fun to use, and that take advantage of the medium to present data of all types in ways that engage the user and lead to increased productivity.

  • Learn JavaFX 8 Building User Experience and Interfaces with Java 8 - by Kishori Sharan
    Start developing rich-client desktop applications using your Java skills. Learn MVC patterns, FXML, effects, transformations, charts, images, canvas, audio and video, DnD, and more. After reading and using Learn JavaFX 8, you'll come away with a comprehensive introduction to the JavaFX APIs as found in the new Java 8 platform.

  • Pro JavaFX 8 A Definitive Guide to Building Desktop, Mobile, and Embedded Java Clients - By Johan Vos , Weiqi Gao , James Weaver , Stephen Chin , Dean Iverson
    In Pro JavaFX 8 expert authors show you how to use the JavaFX platform to create rich-client Java applications. You'll discover how you can use this powerful Java-based UI platform, which is capable of handling large-scale data-driven business applications for PC as well as now mobile and embedded devices.

  • Beginning Java 8 Games Development - By Wallace Jackson
    Beginning Java 8 Games Development, written by Java expert and author Wallace Jackson, teaches you the fundamentals of building a highly illustrative game using the Java 8 programming language. In this book, you'll employ open source software as tools to help you quickly and efficiently build your Java game applications.

  • JavaFX Essentials - By Mohamed Taman
    Create amazing Java GUI applications with this hands-on, fast-paced guide

  • Mastering JavaFX 8 Controls - By Hendrik Ebbers
    Deliver state-of-the-art applications with visually stunning UIs. Mastering JavaFX 8 Controls provides clear instructions, detailed examples, and ready-to-use code samples. Find out how to work with the latest JavaFX APIs, configure UI components, automatically generate FXML, build cutting-edge controls, and effectively apply CSS styling. Troubleshooting, tuning, and deployment are also covered in this Oracle Press guide.

  • Introducing JavaFX 8 Programming - By Herbert Schildt
    Introducing JavaFX 8 Programming provides a fast-paced, practical introduction to JavaFX, Java's next-generation GUI programming framework. In this easy-to-read guide, best-selling author Herb Schildt presents the key topics and concepts you'll need to start developing modern, dynamic JavaFX GUI applications.

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.

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

Tutorials

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

  • code.makery - Multiple Language Online Site with a great materials and examples to teach you JavaFX.
  • Jenkov JavaFX - Jenkov JavaFX Toturials and Articles with good examples to demonstrate you how you can use JavaFX Features.
  • TheNewBoston JavaFX - Youtube JavaFX Video Toturial. It's Simple and it's good place to start JavaFX.
  • JavaFXTutorials - Online Materials and Examples for learning JavaFX.
  • JavaFXTuts - Complete javafx tutorials for beginners with a lot of examples.
  • 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.
  • 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.
  • 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.

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).
  • 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).
  • Enterprise JavaFX - by Hendrik Ebbers
    The talks shows several APIs and technologies that usefull to create JavaFX applications that communicate with a server
  • 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.
  • 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

  • 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.
  • 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.
  • Dependency Injection in JavaFX - A guide to implementing Dependency Injection in a JavaFX application.
  • 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.

Real World Examples

Real World Examples of JavaFX and Applications

  • 20 real world examples on JAXenter
  • SkedPal - SkedPal™ combines the best elements of creativity and structure to optimize your time and productivity.
  • 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.
  • VocabHunter - VocabHunter is a system to help learners of foreign languages.
  • Musicott - Musicott is an application that manages and plays music files. Coded in Java 8 with JavaFX.
  • 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.
  • 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.
  • 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!