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 currently missing from JavaFX.

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 a the 'Agenda' (Google Calendar) control
  • jfxtras-window - containing a non standard Window implementation
  • jfxtras-menu - containing menu implementations, like corner and circular popup menu
  • jfxtras-labs - containing incubator classes

JFXtras and JFXtras Labs are licensed under the New BSD License

See It!

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

But there are also non visual components, for example:

  • ToggleGroupValue; an extended ToggleGroup that allows two way binding on a "value" property.
  • ListView; an extended ListView that allows two way binding on a "selected item" property.
  • Layouts; several layouts like HBox and GridPane have been extended with a more natural fluent API.
The easiest way to get a feel on what is available is to give the sample application a go...

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-r3-SNAPSHOT-shadow.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-labs
8.0-r2
This is the latest release for Java(FX) 8
(available in Maven central)
For Javadoc see the links above
org.jfxtras jfxtras-common
jfxtras-fxml
jfxtras-controls
jfxtras-agenda
jfxtras-window
jfxtras-menu
jfxtras-labs
8.0-r3-SNAPSHOT
This is the latest development version for Java(FX) 8
(available in Sonatype's snapshot repository)
org.jfxtras jfxtras-labs 2.2-r6-SNAPSHOT
This is the release for Java(FX) 2
(available in Sonatype's snapshot repository)
The javadoc is available here
org.jfxtras jfxtras-labs 2.2-r5
This is the latest release for Java(FX) 2
2.2-r4 is the last Java 6 based release, r5+ will use J7.
(available in Maven central)
The javadoc is available here

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 2 project.

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