It’s been some time since my last post. No much time for house coding lately…. I was looking around on the net and found that my RadialMenu form JFXtras had been used by Sean Phillips in two DZone posts :
It allows to me see how he extended the radial menu in order to customize the content of a radial menu item (text instead of graphics for item menu content amongst other things). I will have to take some time to integrate it in my last JFXtras version !
It also allows me to identify that making a completely reusable/customizable radial menu was hard because I could never fill all the user needs AND keep the thing really good looking and the animation adapted. So I tried to find a really great good looking radial menu to see if I could make it with the current state of my JavaFX implementation. What I found is this version of Radial Menu concept that is very awesome to me :
This has been done by Howard Gonzales and posted on dribble.
After some plane/hotel coding, I finally managed to perform something close to the original (although the original version was designed for touch device, while mine is not for now).
What I can tell that the Look part was easy to do with the JFXtras version of the radial menu. But when it comes to the animations, I could not perform it just with the normal version of radial menu. I had to see inside the box to be able to :
- customize layer visibility (depending on parent/child layering between groups and internal radial menu implementation)
- customize items animations (also inside the code)
- customize the interraction triggers (hard to mix the outside radial menu events with the internal ones)
So I used the base of JFXtras radial menu (RadialMenuItem class) in order to aggregate many instance differently in order to create the RadialMenuEnhanced that mostly match the Howard gonzales post. Here is the video of the new JavaFX Radial Menu Enhanced version.
Note that I used the lovely icons from http://gemicon.net/. Thanks to them for sharing such a great work with us !
So making reusable control is not easy (combining extensibility, ease to use, good looking is clearly hard, at least for me). Making specific is easier, but surely increase cost at the end. The choice is just a question of priority. What I can conclude is that it is really easy to do UI (specially animations) with JavaFX !