Saturday, February 17, 2018

Drombler FX v0.11: modular StatusBar and ProgressMonitor

I recently released v0.11 of Drombler FX - the modular application framework for JavaFX.

This release comes with the integration of two new JavaFX controls.

StatusBar

The first is a rather simple one: a StatusBar. It maintains three lists of elements: leftElements, centerElements and rightElements. The elements are layed out accordingly.
The control is Skinnable and Styleable and can also be used in non-OSGi JavaFX applications. As you might guess, the main intention of this control is to show the user additional information at the bottom of your application.

Drombler FX provides declarative, modular integration of this StatusBar:

The annotated Node sub-class will be added to the according StatusBar elements list at the specified position.

If two adjacent StatusBar elements are positioned in different thousand groups (e.g. position = 910 and position = 1120), a Separator gets automatically registered between them.

For more information see the new StatusBar tutorial trail.

ProgressMonitor

The second new JavaFX control is ProgressMonitor.
This control allows to monitor any number of running, cancelable Workers.

ProgressMonitor

[1] a label bound to Worker#titleProperty
[2] a label bound to Worker#messageProperty
[3] a progress bar bound to Worker#progressProperty
[4] a button to execute Worker#cancel
[5] an indicator if there are additional workers being monitored
[6] a popup showing all monitored workers

The control is Skinnable and Styleable and can also be used in non-OSGi JavaFX applications. The main intention of this control is to be added to a StatusBar.

Here is a small sample application showing the ProgressMonitor and the StatusBar in action:



You can find the sample application also here.

Drombler FX provides out-of-the-box support for ProgressMonitor (as an optional feature). It registers a StatusBar element and provides a loosely-coupled notification mechanism via the Context Framework.

For more information see the new ProgressBar tutorial trail.


Application Layout

As there is no one-size-fits-all solution, the application layout of a Drombler FX application is pluggable so you can provide your own implementation tailored to your needs. This allows you to get the most out of Drombler FX and JavaFX.

While this feature is available for some time, there is now a new tutorial trail explaining it in more detail.


API Changes

Please note that some APIs have changed, especially the following ones:

Additional Information

Projects like this one need to be build by a community working together to be really successful. There are several ways how you can contribute to this project. Contributions are highly welcome! See the "How to Contribute"-page for more information.

You can find the complete list of fixed issues here: https://github.com/Drombler/drombler-fx/issues?q=milestone%3A0.11


There's a Getting Started page which explains how to create, build and run a Drombler FX sample application with a few simple steps.


The following table provides you an overview of the different Drombler components, links to the modules, which are available from Maven Central, and links to the Javadocs.
  


Name Modules
(incl. Maven Coordinates)
Javadoc Description
Drombler FX Modules Javadoc Drombler FX, the modular application framework for JavaFX based on:
Drombler ACP Modules Javadoc Drombler Abstract Client Platform (ACP) is an abstract, GUI-toolkit agnostic, modular Rich Client Platform based on:
Drombler Commons Modules Javadoc Drombler Commons is a collection of reusable libraries and frameworks. They ship with OSGi meta data but don't require an OSGi environment.


If you find issues or have enhancement requests, you can file a ticket here: https://github.com/Drombler/drombler-fx/issues.