For the last 6 months I had the opportunity to port my FlexGantt Gantt charting framework for Swing to JavaFX 8. The concepts behind JavaFX are very different to Swing so the initial ramp-up phase was longer than I wanted it to be. However, in the meantime I feel confident that I am on the right track with my approach to Gantt charting with this new technology.
The following videos show the current state of my development efforts.
The first video shows one of the most common use cases for Gantt charts: the display of a project schedule. This demo uses the open source project MPXJ to read in an original MSProject file.
The second video shows how the user can still nicely interact with the display even when working with hundreds of activities at the same time. In this case the data file used represents flights of aircrafts.
The next video shows how FlexGanttFX can be used for course scheduling. The user can resize a row to make the individual sessions of a training week visible. The sessions can be rescheduled by simple drag gestures.
JavaFX is all about CSS-based styling. The test application in the video below shows several versions of the timeline control of FlexGanttFX. Each version has its own stylesheet attached to it. All timeline controls use the same model in the background, which makes them scroll in synch.
A feature often asked for in the Gantt chart domain is the ability to split the Gantt chart. This way the user can work on two related data models at the same time (e.g. aircrafts and crews) or look at two different regions within the same data model.
I am currently planning to start an early adopter program around March 1st 2014. If you are interested in participating then please fill out the form below.
[…] Lemmermann has been working on a (commercial) JavaFX-based gantt chart control. It looks very polished, and he is planning to start up an early adopter program around March. It […]
Oups.. I should have typed here:
Hi ! This is really great ! But no code or any technical information on how you did it ? What was different under JavaFX from your Swing model ? Are you using the canvas or doing everything with nodes ?