Skip to content

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

License

Notifications You must be signed in to change notification settings

Oshan96/AwesomeJavaFX

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

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.
  • 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.
  • 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
  • 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.
  • 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.
  • 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.
  • JSilhouette - JSilhouette provides additional shapes for Java applications.
  • 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.
  • 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.
  • 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 nustom 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.
  • 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

Books

  • 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.

  • 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.

  • 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.

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

  • 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.

  • 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.

  • 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.

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.
  • 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.
  • 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.
  • 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!

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published