This is the list of projects I’ve worked on, as a hobby during my spare time. They are either free open source libraries for developers or free software.
Theme / look and feel for Java (Javafx).
This theme is used by the most high profile Java (JavaFX) applications like apps used by NASA: Deep Space Trajectory Explorer (DSTE), Trajectory Optimization Data Viewer (TODV) and others.
JMetro is inspired but not a copy of Microsoft’s Fluent Design Specification.
It defines styling for JavaFX controls. This includes styling existing JavaFX controls, adding controls that don’t exist in JavaFX but are provided by the original Fluent Design (FD) specification and styling JavaFX controls that don’t exist in FD but exist in JavaFX, basing myself on my experience and observation of how those controls would look if they had the FD style applied.
Besides the looks it also adds features to existing controls, behind the scenes, by leveraging JavaFX’s skin API.
The aim of JMetro is to provide a modern theme that looks great and well integrated on Windows (which is 90% of desktop users) but can also perfectly be used on other OSes.
Ribbon control for Java developers, implemented in JavaFX.
Based on the Microsoft Ribbon this is a control that can be used to simplify complex UIs with a significant number of commands.
This was a control I’ve developed for earlier versions of JavaFX that allowed the embedding of a JavaFX scene in a Swing application. At the time, it was contributed to JFxtras.
A hobby application I was developing: Modellus, became the first application to embed a JavaFX scene in a Swing app (at least publicly), using this control. At the time, using this control was the only way to progressively migrate a Swing application to JavaFX.
Since JavaFX 2 this control became obsolete since a control to embed a JavaFX scene in a Swing application became officially part of the JavaFX library.
Parallax framework for Java (JavaFX).
FXParallax is composed of a set of controls that are either already ready to use and have a parallax effect or are a general purpose control that makes it easy for you to add a parallax effect to a UI component.
A collection of new Skins for existing JavaFX controls. These Skins will add more functionality to the controls used in your applications with almost no need to make changes to your application’s code.
Validation framework for Java developers, implemented in JavaFX.
Other controls, libraries and software
Modellus is a freely available application that enables students and teachers (high school and university) to use mathematics to create or explore models interactively.
It has been published in different languages (Portuguese, English, Chinese, Greek, Spanish, etc) and it is used all over the world and in several published scientific papers. Samples range from Physics to Mathematics, going through Mechanics, Chemistry, Statistics, Algebra, Geometry, among others.
As a curiosity, Modellus is currently a Swing application with embedded JavaFX scenes. It was the first application to integrate both Swing and JavaFX together in a single app by using a custom created component JXScene – not available in JavaFX at the time.
Modellus is used to introduce computational modeling, allowing an easy and intuitive creation of mathematical models using just standard mathematical notation. It allows the possibility of creating animations with interactive objects that have mathematical properties expressed in the model, for allowing the exploration of multiple representations and for permitting the analysis of experimental data in the form of images, animations, charts and tables. Modellus focuses on modeling and on the meaning of models.
I haven’t had time to work on Modellus code implementation since mid 2012. Hopefully it will still be relevant for your use cases.
Toggle Switch control for javafx.
A Toggle Switch is a control that is very popular nowadays, especially on touch based devices. Check Toggle Switch posts.
DateAxis and XYBarChart for JavaFX
A XYBarChart, that is a bar chart that doesn’t have the limitation of the SDK BarChart which only allows you to have a CategoryAxis/ValueAxis pair of axes. So, for example, you can’t set a pair of axes if they’re of type DateAxis/ValueAxis. And as another consequence, you can’t easily add zoom capabilities to a BarChart.
A somewhat common request for people working with the charts API in JavaFX is a DateAxis. Essentially that is an Axis that would be able to show dates.
Swing JDesktopPane with scrollbars
For a long time there has been a known issue with Swing’s JDesktopPane. If a JInternalFrame gets out of the viewport, no scrollbars are added and you loose the ability to “reach” the JInternalFrame.