View on GitHub

Welcome to the JFXtras Project.

The goal of JFXtras is to provide those pieces that developers often need in their day-to-day work, but that are (or were) missing from JavaFX. A quick impression can be found at the overview page.

JFXtras and JFXtras Labs

The project is divided into two different pieces. Components in the official JFXtras library are considered stable with APIs that are unlikely to change much in future releases. The JFXtras Labs library contains components that are currently under active development and are considered experimental. The API of the components may change significantly from one release to the next, or they may be abandoned all together.

Once the JFXtras developers feel that a component has reached a mature state, it will be moved from Labs into the main JFXtras library.

The JFXtras library has been divide into smaller parts, mainly to prevent a single artifact to become fairly large (which is a problem for the Internet of Things development). Currently JFXtras consists of the following parts:

  • jfxtras-common - containing basic classes, like layouts, utility classes, etc.
  • jfxtras-fxml - containing FXML related classes, most notably JFXtrasBuilderFactory which is used to easily add builders to the FXMLLoader.
  • jfxtras-controls - containing standard controls, like several date and time pickers
  • jfxtras-agenda - containing the 'Agenda' (Google Calendar) control
  • jfxtras-icalendarfx - iCalendar API implementing RFC 5545 (more)
  • jfxtras-icalendaragenda - Agenda extension for displaying and editing an iCalendarFx VCalendar (more)
  • jfxtras-window - containing a non standard Window implementation
  • jfxtras-menu - containing menu implementations, like corner and circular popup menu
  • jfxtras-gauges-linear - gauges for creating a dashboard.
  • jfxtras-font-roboto - an easy way to include Google's Roboto font in your application.
  • jfxtras-all - containing all JFXtras controls in one jar for SceneBuilder (excluding labs)
  • jfxtras-labs - containing incubator classes
  • jfxtras-labs-all - containing all JFXtras controls in one jar for SceneBuilder (including labs)

JFXtras and JFXtras Labs are licensed under the New BSD License

If you want to use the controls in SceneBuilder, please use the all-in-one (aka shadow) jar. SceneBuilder is not able to use controls that require supporting jars, like for example jfxtras-controls.jar requiring jfxtras-common.jar.

See It!

Below are a few screenshots to give an impression of some of the components available in both JFXtras and JFXtras Labs

More details can be found at the overview page.

Try It!

JFXtras Samples allows you to see JFXtras components in one convenient application. Samples requires Java 8.

Download JFXTras 8.0 Samples here.
Use java -jar jfxtras-labs-samples-8.0-r6-SNAPSHOT-all.jar to start

Use It!

The version system of JFXtras deviates from the commonly used versioning schemes; the first two digits indicate the JavaFX release that is used for the distribution, so 8.0-r2 means "based on JavaFX 8.0", the "-r2" means release 2 of JFXtras. Hence the JFXtras release scheme does not include bug fix releases, only regular releases.

The reason of using an "r" in the release has to do with the fact that we do not control the release scheme of JavaFX. If we had chosen the more compatible notation "8.0.1" (.1 indicating JFXtras release 1), and JavaFX would have a bug fix release 8.0.1, we would be in trouble. In the releasing scheme with the "r" this would lead to a JFXtras 8.0.1-r1 release.

Group ID Artifact ID Version
org.jfxtras jfxtras-common
jfxtras-fxml
jfxtras-controls
jfxtras-agenda
jfxtras-window
jfxtras-menu
jfxtras-gauges-linear
jfxtras-font-roboto
jfxtras-icalendaragenda
jfxtras-icalendarfx
jfxtras-all
jfxtras-labs
Releases are available in Maven central
Snapshots are available in Sonatype snapshot
For Javadoc see the links above

The Java module names are the same as the artifact names, except dashes become dots, so: jfxtras-gauges-linear becomes jfxtras.gauges.linear

Issues

If you find any problems, discuss this with the developers on the mailing list, or file an issue on GitHub for the appropriate project.

The users mailing list is here and the developers mailing list is here.

Authors and Contributors

The following people have contributed to the JFXtras project.

On github the most current list of members can be found!