This release comes with the integration of two new JavaFX controls.
StatusBarThe 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 = 910and
position = 1120), a Separator gets automatically registered between them.
For more information see the new StatusBar tutorial trail.
ProgressMonitorThe second new JavaFX control is ProgressMonitor.
This control allows to monitor any number of running, cancelable Workers.
 a label bound to Worker#titleProperty
 a label bound to Worker#messageProperty
 a progress bar bound to Worker#progressProperty
 a button to execute Worker#cancel
 an indicator if there are additional workers being monitored
 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 LayoutAs 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 ChangesPlease note that some APIs have changed, especially the following ones:
- OnExitRequestHandler: this class has been moved from Dromber FX to Drombler Commons.
- The package changed accordingly:
org.drombler.fx.core.application -> org.drombler.commons.fx.stage
- Dromber FX provides the following new interface for integration:
- In the package org.drombler.commons.docking.fx.context:
WindowOnCloseRequestHandler has been replaced with DockingOnExitRequestHandler
- The two service provider interfaces ApplicationContentProvider, MainSceneRootProvider have moved module/ package:
org.drombler.fx.startup.main -> org.drombler.fx.core.application
- The service provider interface org.drombler.fx.core.application.WindowOnCloseRequestHandlerProvider: has been replaced with org.drombler.commons.fx.stage.OnExitRequestHandler#createOnWindowCloseRequestEventHandler
- The service provider interface org.drombler.acp.startup.main.ApplicationExecutorProvider has been moved and renamed to org.drombler.acp.core.commons.util.concurrent.ApplicationThreadExecutorProvider
Additional InformationProjects 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.
(incl. Maven Coordinates)
|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.