I’ve been hinting at this project for a really long time, and I’m finally ready to take the wraps off of it. I am incredibly pleased to announce the immediate availability of the first developer preview release of the brand new ControlsFX project. You can visit the ControlsFX page for all the details on how to download, use and contribute.
This has been a long-running project that has recently gained steam thanks to a number of contributors helping out. Over time I’ll call them out in more detail (and perhaps with interviews), but today the main people I’d like to thank are Eugene Ryzhikov, Hendrik Ebbers, and Danno Ferrin.
To conclude this post, I’m copy/pasting the new features documentation from the ControlsFX page into the remainder of this blog post.
Features
ButtonBar
A horizontal container for buttons, which automatically places the buttons in the correct position for the underlying operating system. Just annotate the buttons with their type and it’ll handle the rest!
Dialogs
A collection of pre-built, modal dialogs providing a really simple yet powerful API. Supports all manner of pre-built dialogs, and even allows for custom dialogs to be easily created.
GridView
A fast, virtualised grid container similar to ListView, except that there can be multiple cells on each row. Great for showing images!
RangeSlider
When you want a user to specify a range, right now you need to give them two text fields to type into (or two sliders). Yuck! This control is essentially the standard JavaFX slider but with two draggable thumbs on it – one representing the low value and the other the high value. Much better!
Rating
A simple control that allows users to specify a rating between zero and a maximum value. This control supports partial ratings and updating on hover or on click.
SegmentedButton
When you have a ToggleGroup with buttons in it, it looks nicer when the buttons are grouped together (rather than individual buttons). This is exactly what the SegmentedButton control does – it ‘merges’ together all of your buttons in a ToggleGroup so that it is clear to users that the buttons are related.
Sweet…
Will any of these controls find their way into the JFX SDK. I think the Dialogs in particular would be a good candidate for the JFX SDK.
Perhaps, but there are no plans as of right now to integrate any of these back into JavaFX. Certainly not for JavaFX 8.0.
Very nice. There’s no problem if you don’t plan to integrate with JFX JDK for now, because there’s still a long way until Java 8 will be released.
Keep going with this. Is really useful!
Thanks.
Nice work Jonathan!!
The project page has some instructions to run the sample app with the “following command” but on my browser I don’t see a command that follows.
We will give them a good look.
Regards,
Carl
Good catch! Fixing now! 🙂
Thank you…see I replied to the wrong thread below…long day. 😉
Hello,
if you replace the : with a ; (between the jars) everything works fine…very nice!
Regards
Michael
Yeah…. have to use those in my applications
Now that JDK8 has been pushed back to 2014, what is the road map for JFX8. Is any of JFX8 dependant on any other JDK8 features. Would there be any chance of a JFX3 for JDK7.
Yes, JavaFX 8.0 is dependent on JDK 8.0 features. JavaFX 8.0 will ship at the same time as JDK 8.0.
I could not find any information about the license you want to distribute controlsfx under. Can you tell us where to find it? I think it’s a very important point. Btw: Nice work! 🙂
David, the license information is listed at the very bottom of the ControlsFX page. In short, it is licensed under the 3-clause BSD license, which I believe to be a very friendly license.
I didn’t see it. Thank you 🙂 And thanks for choosing the BSD license.
You didn’t see it previously as I just now snuck it in 😉
You could have convinced me it was my eyes or the (relatively) early hour. 🙂
In any case, it’s really nice to see this effort released.
I should note that this is a developer preview. We haven’t finished with documentation, etc, so apologies for it being a bit sparse. However, feedback on API is much appreciated – leave comments here or in the ControlsFX issue tracker if you have any questions or concerns.
Very nice. Do they integrate with modena?
I don’t think the NonCommercial-NoDerivs license is correct for the dialog icons. The most reliable source I can find for them is in the KDE SVN repository. They’re old versions of the oxygen icons. This looks like the most recent version before they were updated to the new versions (I prefer the older ones you’ve picked personally):
http://websvn.kde.org/trunk/KDE/kdebase/runtime/pics/oxygen/?pathrev=706996
The license there says either or Creative Common Attribution-ShareAlike 3.0 or GNU Library General Public License can be used. The license file commits were made by dmiller and there’s a David Miller listed as a copyright holder, so, in my opinion, it looks like a definitive source for the licence info.
The trunk version also has some nice, matching security icons FYI:
http://websvn.kde.org/trunk/kdesupport/oxygen-icons/48×48/status/
Yes, it appears you are correct. I found these icons on iconfinder.com and it appears it misled me on the licensing information. I’ll update the license file shortly (and good point on the security icons – I didn’t see those the first time around – I might have to use them too :-))
Hi Jonathan,
Nice work.
Just one point on modal dialog, do we need a minimize icon there?
Hi Beniton – I’ve always wondered what the best buttons to have on a modal dialog, but haven’t yet had a chance to look into it. I’ve filed a bug over at the ControlsFX issue tracker to chase it down: https://bitbucket.org/JonathanGiles/controlsfx/issue/35/consider-whether-minimise-maximise-close